ΠšΡƒΡ€Ρ Π½Π° Stepik
ОблоТка курса Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ» Π½Π° Stepik
1 999 β‚½

πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈ β˜… 4.500

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π°
STEPIK.ORG

Π­Ρ‚ΠΎΡ‚ курс раскрываСт ΠΌΠΎΡ‰ΡŒ ассСмблСра для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ создания эксплоитов. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· исходников ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ уязвимости. πŸ“– ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для: 1) Π₯Π°ΠΊΠ΅Ρ€ΠΎΠ²Β (пСнтСстСров, рСвСрс-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², спСциалистов ΠΏΠΎ бСзопасности) 2) Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²Β (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² встраиваСмых систСм, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² компиляторов) 3) Π›ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π³ΠΈΠΊΠΎΠ², ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΆΠ΅Π»Π΅Π·ΠΎ

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Рост
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ πŸ† Π Π΅ΠΉΡ‚ΠΈΠ½Π³ 3 Π΄Π½ 7 Π΄Π½ 30 Π΄Π½
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² Π½Π° курсС Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»Π£Ρ‡Π΅Π½ΠΈΠΊΠΎΠ² Π½Π° курсС 385
Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹, Π²Ρ‹Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° курсС Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΠ² Π²Ρ‹Π΄Π°Π½ΠΎ 0
ΠžΡ‚Π·Ρ‹Π²Ρ‹ ΠΎ курсС Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»ΠžΡ‚Π·Ρ‹Π²ΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ 4
Π Π΅ΠΉΡ‚ΠΈΠ½Π³ курса Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»Π Π΅ΠΉΡ‚ΠΈΠ½Π³ курса 4.500
Π£Ρ€ΠΎΠΊΠΈ Π² курсС Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡƒΡ€ΠΎΠΊΠΎΠ² 44
ВрСмя прохоТдСния курса Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»Π’Ρ€Π΅ΠΌΡ прохоТдСния курса β€”
Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ курса Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ курса 1 999 β‚½ β€”
ОбновлСния курса Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ курса β€” β€”
Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ курса Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ курса β€” β€”β€”β€”
ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ курса Β«πŸ“– Взгляд ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚: ассСмблСр для Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² πŸ› οΈΒ»ΠŸΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ β€” β€”β€”β€”
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ normal β€” β€”β€”β€”

Π§Π΅ΠΌΡƒ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ

  • 1. ΠžΡΠ½ΠΎΠ²Ρ‹ ассСмблСра x86/x64
  • РСгистры, инструкции, стСк, Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;
  • Различия ΠΌΠ΅ΠΆΠ΄Ρƒ Linux (syscall) ΠΈ Windows (WinAPI);
  • Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ: сСгмСнты, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
  • 2. РСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³
  • ДизассСмблированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (IDA Pro, Ghidra, Radare2);
  • Анализ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠ² Π±Π΅Π· исходного ΠΊΠΎΠ΄Π°;
  • Поиск уязвимостСй (пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π°, format strings, UAF).
  • 3. НаписаниС шСллкодов ΠΈ эксплоитов
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ position-independent ΠΊΠΎΠ΄Π° (PIC);
  • ΠžΠ±Ρ…ΠΎΠ΄ DEP, ASLR, Stack Canaries;
  • ROP-Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ (Return-Oriented Programming).
  • 4. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°
  • УскорСниС критичСских участков ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;
  • ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π° (для встраиваСмых систСм);
  • ВСкторизация (SIMD: SSE, AVX).
  • 5. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
  • ВзаимодСйствиС с ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ (GPIO, прСрывания, DMA);
  • Анализ врСдоносного ПО;
  • Π’Π·Π»ΠΎΠΌ CTF-Π·Π°Π΄Π°Ρ‡ ΠΈ crackme.

О курсС

Π­Ρ‚ΠΎΡ‚ курс раскрываСт ΠΌΠΎΡ‰ΡŒ ассСмблСра для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ создания эксплоитов. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· исходников ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ уязвимости. πŸ“– ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для: 1) Π₯Π°ΠΊΠ΅Ρ€ΠΎΠ²Β (пСнтСстСров, рСвСрс-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², спСциалистов ΠΏΠΎ бСзопасности) 2) Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²Β (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² встраиваСмых систСм, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² компиляторов) 3) Π›ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π³ΠΈΠΊΠΎΠ², ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΆΠ΅Π»Π΅Π·ΠΎ

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования

πŸ”° ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования

  • Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ языка C ΠΈΠ»ΠΈ Python (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ)

  • Π—Π½Π°Π½ΠΈΠ΅ основ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ (Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ CPU, RAM, стСк)

  • Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² слоТных Ρ‚Π΅ΠΌΠ°Ρ…

НС трСбуСтся:

  • ΠžΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ассСмблСром (Π½Π°ΡƒΡ‡ΠΈΠΌ с нуля)

  • Π”ΠΎΡ€ΠΎΠ³ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ…Π²Π°Ρ‚ΠΈΡ‚ ПК с Linux/Windows)

ΠŸΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ курса

Π§Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅

  • βœ… Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ для:
  • РСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° (Π°Π½Π°Π»ΠΈΠ· вирусов, ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ³ΠΎ ПО)
  • ΠŸΠ΅Π½Ρ‚Π΅ΡΡ‚Π° (поиск уязвимостСй Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ°Ρ…)
  • НизкоуровнСвой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, firmware, embedded)
  • βœ… Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:
  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ шСллкодов ΠΈ ROP-Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠ²
  • Π‘Π°Π·Π° crackme для Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ
  • ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° инструмСнтов для Π°Π½Π°Π»ΠΈΠ·Π°
  • βœ… Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ (для Ρ€Π΅Π·ΡŽΠΌΠ΅)

Нагрузка

3-4 часа Π² нСдСлю

РасскаТитС ΠΎ курсС Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ