Race Conditions - CompTIA Security+ SY0-701 - 2.3 — Transcript
Full transcript
- 0:01a race condition is when two events
- 0:04happen at nearly the same time with an
- 0:06application and the application doesn't
- 0:08take into account that these two
- 0:10conditions may be operating
- 0:13simultaneously this is something
- 0:14application developers commonly check
- 0:16when they're building their application
- 0:18but there may be times when a
- 0:19combination of different events inside
- 0:21the application might have an unexpected
- 0:24outcome and this would be the textbook
- 0:26example of a race condition one common
- 0:29type of erace condition is a Toto this
- 0:32is a time of check to time of use attack
- 0:36this means the application is going to
- 0:37check the system to retrieve information
- 0:40that may be stored and then after it
- 0:42retrieves that information it may
- 0:44perform a particular function with that
- 0:46value but sometimes there's another
- 0:49process that occurs behind the scenes
- 0:51between the time when you've checked the
- 0:53system for the value and you're actually
- 0:55using that particular value and if you
- 0:57don't take into account that that value
- 0:59might change without you knowing it
- 1:01you've run into a race condition let's
- 1:04look at a practical example of a race
- 1:06condition where you have two users that
- 1:09are moving dollars between two different
- 1:11accounts there's user one and user two
- 1:14and the two accounts are account a and
- 1:16account B the race condition that you're
- 1:18going to see here is one that was
- 1:20created because the application
- 1:22developer takes deposits that are put
- 1:24into the account and has them
- 1:26immediately updated in the application
- 1:29but if someone withdraws money from an
- 1:31account that information may not be
- 1:33immediately updated in The Ledger let's
- 1:36see how this would play out if the two
- 1:38users are transferring information from
- 1:40one account to another we'll start with
- 1:42two accounts account a and account B and
- 1:44both have a starting account value of
- 1:47$100 user one is going to transfer $50
- 1:50from account a to account B user one is
- 1:54going to check the balance and see that
- 1:56account a is $100 and account B has $100
- 2:00user 2 is also going to check the
- 2:02balance and see that both of the
- 2:03balances are indeed at
- 2:05$100 so far everything is working as you
- 2:08would expect now user one is going to
- 2:10add $50 to account B because deposits
- 2:13are updated immediately we know that now
- 2:16account a has $100 and account B with
- 2:19extra $50 in it has a
- 2:22$150 value now user 2 is going to
- 2:25perform the same function they're going
- 2:26to add $50 to account B and when they do
- 2:29that because this deposit is represented
- 2:32immediately we now have account a with
- 2:34$100 and account B with $200 and again
- 2:38everything is still working exactly as
- 2:40expected now user one is going to remove
- 2:43$50 from account a from user one's
- 2:45perspective account a now has $50 and
- 2:48account B has $200 now user two is going
- 2:52to perform the same transaction and
- 2:54remove $50 from account a because these
- 2:57withdrawals are not updated immediately
- 2:59for all users from user 2's perspective
- 3:02account a has $50 and account B has $200
- 3:07this is the step where the race
- 3:08condition really occurs because the
- 3:10application is not immediately taken
- 3:12into account any withdrawals the final
- 3:14ending account value for user two is
- 3:17going to have account a as $50 and
- 3:19account b as 200 when in reality account
- 3:22a should have
- 3:230 these types of race conditions can
- 3:26occur anywhere the application is not
- 3:28taking into account one of these many
- 3:30different events that can occur in 2004
- 3:34we saw a race condition occur on the
- 3:36planet Mars with the Mars rover Spirit
- 3:39there's a safety mechanism within the
- 3:40Rover where it will reboot itself if it
- 3:43recognizes that a fatal error has
- 3:45occurred and in the case of Mars Rover
- 3:48the problem that was occurring was with
- 3:50the file system itself so during this
- 3:52reboot process the Rover recognizes that
- 3:55there's a file system error and its
- 3:57programming knows that it should be
- 3:58rebooting itself to correct this it
- 4:00reboots itself and runs into exactly the
- 4:03same file system error again and we
- 4:05effectively have a reboot loop in this
- 4:08example the developers were able to send
- 4:10additional code to the Rover to bypass
- 4:12this particular error and get the Rover
- 4:14back up and running and it seems
- 4:16appropriate that we should have a race
- 4:18condition that occurs inside of a car
- 4:21and indeed we had one during Pond to own
- 4:23in Vancouver 2023 with a Tesla Model 3
- 4:28this Toto attack took Vantage of a
- 4:30vulnerability in the Tesla of its
- 4:32infotainment system that you could
- 4:34access through Bluetooth they were able
- 4:36to elevate privileges to be the root
- 4:38user of the infotainment system and this
- 4:41allowed the attackers to earn a
- 4:43$100,000 US prize and they keep the
- 4:56Tesla
About this transcript
This page contains the full transcript of Race Conditions - CompTIA Security+ SY0-701 - 2.3 by Professor Messer, generated from the public captions YouTube serves with the video. The transcript has 807 words across 120 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.