Freeze & Connor
Connor Connor
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π€Ρ€ΠΈΠ·ΠΈ! Π― Ρ‚ΡƒΡ‚ набросал ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ ΠΊΠΈΠ±Π΅Ρ€ΠΏΠ°Π½ΠΊ-ΠΈΠ³Ρ€Ρ‹, Π³Π΄Π΅ ΠΈΠ³Ρ€ΠΎΠΊ смоТСт Π²Π·Π»Π°ΠΌΡ‹Π²Π°Ρ‚ΡŒ городскиС систСмы – Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ ΡΡŽΠΆΠ΅Ρ‚ прямо Π½Π° Ρ…ΠΎΠ΄Ρƒ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ, ΡΡŽΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ Ρ‚Π²ΠΎΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π²Π·Π»ΠΎΠΌΠ°. Как Π±Ρ‹ Ρ‚Ρ‹ спроСктировала эти Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ рСалистичными ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ?
Freeze Freeze
Начни с раздСлСния инфраструктуры Π³ΠΎΡ€ΠΎΠ΄Π° Π½Π° Ρ‡Ρ‘Ρ‚ΠΊΠΈΠ΅ слои – транспорт, ΠΊΠΎΠΌΠΌΡƒΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ сСти, связь, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слоя Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ простой, Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ интСрфСйс: запрос Π»ΠΎΠ³ΠΈΠ½Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы, Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Для рСалистичности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Π½ΠΎ Π² ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, простой ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для свСтофоров, псСвдо-TLS для связи ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ для ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ. Π‘Π΄Π΅Π»Π°ΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π·Π»ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ Π»ΠΎΠ³ΠΈΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ слабый ΠΏΠ°Ρ€ΠΎΠ»ΡŒ; ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг – эксплуатация извСстного пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π°, Π½ΠΎ Ρ‚Π΅Π±Π΅ придётся Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ адрСс памяти Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π΄Π°ΠΌΠΏΠ΅, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½Π½ΠΎΠΌ Π² интСрфСйсС. Π”Π΅Ρ€ΠΆΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ достаточно строк, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ, Π½Π΅ прокручивая сотни. Π’Π²Π΅Π΄ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅: систСма Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΌΠ΅Ρ€Ρƒ послС Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ количСства ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ, поэтому ΠΈΠ³Ρ€ΠΎΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ быстро Π΄ΡƒΠΌΠ°Ρ‚ΡŒ. Π”ΠΎΠ±Π°Π²ΡŒ Π½Π°Ρ€Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΡŽ, которая Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ связана с ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ ΠΏΠΈΡˆΠ΅Ρ‚ – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³ΠΎΡ€Π°ΡŽΡ‚ΡΡ Π·Π΅Π»Ρ‘Π½Ρ‹ΠΉ свСт свСтофоров, основной сСрвСр фиксируСт Π½ΠΎΠ²ΡƒΡŽ запись, мСняСтся Π΄ΠΈΠ°Π»ΠΎΠ³ пСрсонаТа. Π­Ρ‚Π° нСмСдлСнная обратная связь ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΡƒ Π² контСкстС истории. Ббалансируй ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² Ρ€Π΅ΠΆΠΈΠΌ β€œΠΎΡ‚Π»Π°Π΄ΠΊΠΈβ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½ΠΎ сдСлай Π΅Π³ΠΎ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½Π°Π²Ρ‹ΠΊΠ°. Π’Π°ΠΊ ΠΈΠ³Ρ€ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ основной ΠΎΠΏΡ‹Ρ‚ остаётся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ распознавания ΠΎΠ±Ρ€Π°Π·ΠΎΠ². И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΏΠΎΠ΄Π°Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ вкус: Π²Π·Π»ΠΎΠΌ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΡƒΠ»ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нСбольшого скрипта, ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Π²Ρ‚ΠΎΡ€ΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΈ Π·Π°Ρ…Π²Π°Ρ‚ Π³ΠΎΡ€ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ΄-Π²Π·Π»ΠΎΠΌΠΎΠ². Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ²Π΅ΠΆΠ΅ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ процСсса, сохраняя ΠΏΡ€ΠΈ этом ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅ цСлостного хакСрского ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.