logo
Overkill Security  Because Nothing Says 'Security' Like a Dozen Firewalls and a Biometric Scanner
О проекте Просмотр Уровни подписки Фильтры Обновления проекта Контакты Поделиться Метки
Все проекты
О проекте
A blog about all things techy! Not too much hype, just a lot of cool analysis and insight from different sources.

📌Not sure what level is suitable for you? Check this explanation https://sponsr.ru/overkill_security/55291/Paid_Content/

All places to read, listen and watch content:
➡️Text and other media: TG, Boosty, Teletype.in, VK, X.com
➡️Audio: Mave, you find here other podcast services, e.g. Youtube Podcasts, Spotify, Apple or Amazon
➡️Video: Youtube

The main categories of materials — use tags:
📌news
📌digest

QA — directly or via email overkill_qa@outlook.com
Публикации, доступные бесплатно
Уровни подписки
Единоразовый платёж

Your donation fuels our mission to provide cutting-edge cybersecurity research, in-depth tutorials, and expert insights. Support our work today to empower the community with even more valuable content.

*no refund, no paid content

Помочь проекту
Promo 750₽ месяц
Доступны сообщения

For a limited time, we're offering our Level "Regular" subscription at an unbeatable price—50% off!

Dive into the latest trends and updates in the cybersecurity world with our in-depth articles and expert insights

Offer valid until the end of this month.

Оформить подписку
Regular Reader 1 500₽ месяц 16 200₽ год
(-10%)
При подписке на год для вас действует 10% скидка. 10% основная скидка и 0% доп. скидка за ваш уровень на проекте Overkill Security
Доступны сообщения

Ideal for regular readers who are interested in staying informed about the latest trends and updates in the cybersecurity world without.

Оформить подписку
Pro Reader 3 000₽ месяц 30 600₽ год
(-15%)
При подписке на год для вас действует 15% скидка. 15% основная скидка и 0% доп. скидка за ваш уровень на проекте Overkill Security
Доступны сообщения

Designed for IT professionals, cybersecurity experts, and enthusiasts who seek deeper insights and more comprehensive resources. + Q&A

Оформить подписку
Фильтры
Обновления проекта
Поделиться
Метки
overkillsecurity 142 overkillsecuritypdf 52 news 47 keypoints 38 nsa 26 fbi 25 adapt tactics 11 Living Off the Land 11 LOTL 11 unpacking 10 vulnerability 9 cyber security 8 Digest 8 edge routers 8 Essential Eight Maturity Model 8 malware 8 Maturity Model 8 Monthly Digest 8 research 8 ubiquiti 8 IoT 7 lolbin 7 lolbins 7 Cyber Attacks 6 phishing 6 Forensics 5 Ransomware 5 soho 5 authToken 4 BYOD 4 MDM 4 OAuth 4 Energy Consumption 3 IoMT 3 medical 3 ai 2 AnonSudan 2 authentication 2 av 2 battery 2 Buffer Overflow 2 console architecture 2 cve 2 cybersecurity 2 energy 2 Google 2 incident response 2 MITM 2 mqtt 2 Passkeys 2 Retro 2 Velociraptor 2 video 2 Vintage 2 vmware 2 windows 2 1981 1 5g network research 1 8-bit 1 Ad Removal 1 Ad-Free Experience 1 ADCS 1 advisory 1 airwatch 1 AlphV 1 AMSI 1 android 1 Android15 1 announcement 1 antiPhishing 1 AntiPhishStack 1 antivirus 1 Apple 1 Atlassian 1 Attack 1 AttackGen 1 BatBadBut 1 Behavioral Analytics 1 BianLian 1 bias 1 Biocybersecurity 1 Biometric 1 bite 1 bitlocker 1 bitlocker bypass 1 Black Lotus Labs 1 blackberry 1 blizzard 1 botnet 1 Browser Data Theft 1 BucketLoot 1 CellularSecurity 1 checkpoint 1 china 1 chisel 1 cisa 1 CloudSecurity 1 CloudStorage 1 content 1 content category 1 cpu 1 Credential Dumping 1 CVE-2023-22518 1 CVE-2023-35080 1 CVE-2023-38043 1 CVE-2023-38543 1 CVE-2024-0204 1 CVE-2024-21111 1 CVE-2024-21345 1 cve-2024-21447 1 CVE-2024-24919 1 CVE-2024-26218 1 cve-2024-27129 1 cve-2024-27130 1 cve-2024-27131 1 cve-2024-3400 1 cvss 1 cyber operations 1 Cyber Toufan Al-Aqsa 1 cyberops 1 D-Link 1 dark pink apt 1 data leakage 1 dcrat 1 Demoscene 1 DevSecOps 1 Dex 1 disassembler 1 DOS 1 e8mm 1 EDR 1 Embedded systems 1 Employee Training 1 EntraID 1 ESC8 1 Event ID 4663 1 Event ID 4688 1 Event ID 5145 1 Evilginx 1 EvilLsassTwin 1 Facebook 1 FBI IC3 1 FIDO2 1 filewave 1 Firebase 1 Firmware 1 Fortra's GoAnywhere MFT 1 france 1 FraudDetection 1 fuxnet 1 fuzzer 1 game console 1 gamification 1 GeminiNanoAI 1 genzai 1 go 1 GoogleIO2024 1 GooglePlayProtect 1 GoPhish 1 gpu 1 ICS 1 ICSpector 1 IDA 1 IncidentResponse 1 Industrial Control Systems 1 jazzer 1 jetbrains 1 jvm 1 KASLR 1 KillNet 1 LeftOverLocals 1 Leviathan 1 lg smart tv 1 lockbit 1 LSASS 1 m-trends 1 Machine Learning Integration 1 Mallox 1 MalPurifier 1 mandiant 1 MediHunt 1 Meta Pixel 1 ML 1 mobile network analysis 1 mobileiron 1 nes 1 nexus 1 NGO 1 Nim 1 Nimfilt 1 NtQueryInformationThread 1 OFGB 1 oracle 1 paid content 1 panos 1 Passwordless 1 Phishing Resilience 1 PingFederate 1 Platform Lock-in Tool 1 PlayIntegrityAPI 1 PlayStation 1 playstation 2 1 playstation 3 1 plc 1 podcast 1 Privilege Escalation 1 ps2 1 ps3 1 PulseVPN 1 qcsuper 1 qemu 1 qualcomm diag protocol 1 radio frame capture 1 Raytracing 1 Real-time Attack Detection 1 Red Team 1 Registry Modification 1 Risk Mitigation 1 RiskManagement 1 rodrigo copetti 1 rooted android devices 1 Router 1 rust 1 Sagemcom 1 sandworm 1 ScamCallDetection 1 security 1 Security Awareness 1 session hijacking 1 SharpADWS 1 SharpTerminator 1 shellcode 1 SIEM 1 Siemens 1 skimming 1 Smart Devices 1 snes 1 SSO 1 stack overflow 1 TA427 1 TA547 1 TDDP 1 telecom security 1 Telegram 1 telerik 1 TeleTracker 1 TEMP.Periscope 1 Terminator 1 Think Tanks 1 Threat 1 threat intelligence 1 threat intelligence analysis 1 Threat Simulation 1 tool 1 toolkit 1 tp-link 1 UK 1 UserManagerEoP 1 uta0218 1 virtualbox 1 VPN 1 vu 1 wargame 1 Web Authentication 1 WebAuthn 1 webos 1 What2Log 1 Windows 11 1 Windows Kernel 1 Windstream 1 women 1 WSUS 1 wt-2024-0004 1 wt-2024-0005 1 wt-2024-0006 1 xbox 1 xbox 360 1 xbox original 1 xss 1 Yubico 1 Z80A 1 ZX Spectrum 1 Больше тегов
Читать: 12+ мин
logo Overkill Security

MalPurifier. Detoxifying Your Android, One Malicious Byte at a Time

Another ‎document‏ ‎to ‎analyze. ‎This ‎time, ‎it’s‏ ‎the ‎riveting‏ ‎«MalPurifier:‏ ‎Enhancing ‎Android ‎Malware‏ ‎Detection ‎with‏ ‎Adversarial ‎Purification ‎against ‎Evasion‏ ‎Attacks.»‏ ‎Because, ‎you‏ ‎know, ‎the‏ ‎world ‎really ‎needed ‎another ‎paper‏ ‎on‏ ‎Android ‎malware‏ ‎detection.

First, ‎we’ll‏ ‎dive ‎into ‎the ‎Introduction ‎and‏ ‎Motivation‏ ‎to‏ ‎understand ‎why‏ ‎yet ‎another‏ ‎solution ‎to‏ ‎the‏ ‎ever-escalating ‎threats‏ ‎of ‎Android ‎malware ‎is ‎necessary.‏ ‎Spoiler ‎alert:‏ ‎it’s‏ ‎because ‎current ‎machine‏ ‎learning-based ‎approaches‏ ‎are ‎as ‎vulnerable ‎as‏ ‎a‏ ‎house ‎of‏ ‎cards ‎in‏ ‎a ‎windstorm.

We’ll ‎then ‎move ‎on‏ ‎to‏ ‎the ‎Experimental‏ ‎Setup ‎and‏ ‎Results. ‎This ‎section ‎will ‎reveal‏ ‎how‏ ‎MalPurifier‏ ‎outperforms ‎other‏ ‎defenses, ‎achieving‏ ‎over ‎90,91%‏ ‎accuracy.‏ ‎Impressive, ‎if‏ ‎you ‎ignore ‎the ‎fact ‎that‏ ‎it’s ‎tested‏ ‎on‏ ‎datasets ‎that ‎may‏ ‎or ‎may‏ ‎not ‎reflect ‎real-world ‎scenarios.

The‏ ‎Defense‏ ‎Mechanisms ‎section‏ ‎will ‎discuss‏ ‎the ‎various ‎strategies ‎employed ‎by‏ ‎MalPurifier,‏ ‎such ‎as‏ ‎adversarial ‎purification‏ ‎and ‎adversarial ‎training. ‎Because ‎nothing‏ ‎says‏ ‎«robust‏ ‎defense» ‎like‏ ‎throwing ‎more‏ ‎adversarial ‎examples‏ ‎at‏ ‎the ‎problem.

Of‏ ‎course, ‎no ‎paper ‎is ‎complete‏ ‎without ‎acknowledging‏ ‎its‏ ‎Limitations ‎and ‎Future‏ ‎Work. ‎Here,‏ ‎the ‎authors ‎will ‎humbly‏ ‎admit‏ ‎that ‎their‏ ‎solution ‎isn’t‏ ‎perfect ‎and ‎suggest ‎areas ‎for‏ ‎future‏ ‎research. ‎Because,‏ ‎naturally, ‎the‏ ‎quest ‎for ‎the ‎perfect ‎malware‏ ‎detection‏ ‎system‏ ‎is ‎never-ending.

This‏ ‎analysis ‎will‏ ‎provide ‎a‏ ‎high-quality‏ ‎summary ‎of‏ ‎the ‎document, ‎highlighting ‎its ‎contributions‏ ‎and ‎implications‏ ‎for‏ ‎security ‎professionals ‎and‏ ‎other ‎specialists‏ ‎in ‎various ‎fields. ‎It‏ ‎will‏ ‎be ‎particularly‏ ‎useful ‎for‏ ‎those ‎who ‎enjoy ‎reading ‎about‏ ‎the‏ ‎latest ‎and‏ ‎greatest ‎in‏ ‎malware ‎detection, ‎even ‎if ‎the‏ ‎practical‏ ‎applications‏ ‎are ‎still‏ ‎up ‎for‏ ‎debate.

----

This ‎document‏ ‎provides‏ ‎a ‎comprehensive‏ ‎analysis ‎of ‎the ‎paper ‎titled‏ ‎«MalPurifier: ‎Enhancing‏ ‎Android‏ ‎Malware ‎Detection ‎with‏ ‎Adversarial ‎Purification‏ ‎against ‎Evasion ‎Attacks.» ‎The‏ ‎analysis‏ ‎delves ‎into‏ ‎various ‎aspects‏ ‎of ‎the ‎paper, ‎including ‎the‏ ‎motivation‏ ‎behind ‎the‏ ‎research, ‎the‏ ‎methodology ‎employed, ‎the ‎experimental ‎setup,‏ ‎and‏ ‎the‏ ‎results ‎obtained.

This‏ ‎analysis ‎provides‏ ‎a ‎high-quality‏ ‎summary‏ ‎of ‎the‏ ‎document, ‎offering ‎valuable ‎insights ‎for‏ ‎security ‎professionals,‏ ‎researchers,‏ ‎and ‎practitioners ‎in‏ ‎various ‎fields.‏ ‎By ‎understanding ‎the ‎strengths‏ ‎and‏ ‎limitations ‎of‏ ‎the ‎MalPurifier‏ ‎framework, ‎stakeholders ‎can ‎better ‎appreciate‏ ‎its‏ ‎potential ‎applications‏ ‎and ‎contributions‏ ‎to ‎enhancing ‎Android ‎malware ‎detection‏ ‎systems.‏ ‎The‏ ‎analysis ‎is‏ ‎useful ‎for‏ ‎those ‎involved‏ ‎in‏ ‎cybersecurity, ‎machine‏ ‎learning, ‎and ‎mobile ‎application ‎security,‏ ‎as ‎it‏ ‎highlights‏ ‎innovative ‎approaches ‎to‏ ‎mitigating ‎the‏ ‎risks ‎posed ‎by ‎adversarial‏ ‎evasion‏ ‎attacks.

The ‎paper‏ ‎titled ‎«MalPurifier:‏ ‎Enhancing ‎Android ‎Malware ‎Detection ‎with‏ ‎Adversarial‏ ‎Purification ‎against‏ ‎Evasion ‎Attacks»‏ ‎presents ‎a ‎novel ‎approach ‎to‏ ‎improving‏ ‎the‏ ‎detection ‎of‏ ‎Android ‎malware,‏ ‎particularly ‎in‏ ‎the‏ ‎face ‎of‏ ‎adversarial ‎evasion ‎attacks. ‎The ‎paper‏ ‎highlights ‎that‏ ‎this‏ ‎is ‎the ‎first‏ ‎attempt ‎to‏ ‎use ‎adversarial ‎purification ‎to‏ ‎mitigate‏ ‎evasion ‎attacks‏ ‎in ‎the‏ ‎Android ‎ecosystem, ‎providing ‎a ‎promising‏ ‎solution‏ ‎to ‎enhance‏ ‎the ‎security‏ ‎of ‎Android ‎malware ‎detection ‎systems.

Motivation:

📌 Prevalence‏ ‎of‏ ‎Android‏ ‎Malware: The ‎paper‏ ‎highlights ‎the‏ ‎widespread ‎issue‏ ‎of‏ ‎Android ‎malware,‏ ‎which ‎poses ‎significant ‎security ‎threats‏ ‎to ‎users‏ ‎and‏ ‎devices.

📌 Evasion ‎Techniques: Attackers ‎often‏ ‎use ‎evasion‏ ‎techniques ‎to ‎modify ‎malware,‏ ‎making‏ ‎it ‎difficult‏ ‎for ‎traditional‏ ‎detection ‎systems ‎to ‎identify ‎them.

Challenges:

📌 Adversarial‏ ‎Attacks:‏ ‎it ‎discusses‏ ‎the ‎challenge‏ ‎posed ‎by ‎adversarial ‎attacks, ‎where‏ ‎small‏ ‎perturbations‏ ‎are ‎added‏ ‎to ‎malware‏ ‎samples ‎to‏ ‎evade‏ ‎detection.

📌 Detection ‎System‏ ‎Vulnerabilities: Existing ‎malware ‎detection ‎systems ‎are‏ ‎vulnerable ‎to‏ ‎these‏ ‎adversarial ‎attacks, ‎leading‏ ‎to ‎a‏ ‎need ‎for ‎more ‎robust‏ ‎solutions.

Objective‏ ‎and ‎proposed‏ ‎Solution:

📌 Enhancing ‎Detection‏ ‎Robustness: The ‎primary ‎objective ‎of ‎the‏ ‎research‏ ‎is ‎to‏ ‎enhance ‎the‏ ‎robustness ‎of ‎Android ‎malware ‎detection‏ ‎systems‏ ‎against‏ ‎adversarial ‎evasion‏ ‎attacks.

📌 Adversarial ‎Purification: The‏ ‎proposed ‎solution,‏ ‎MalPurifier,‏ ‎aims ‎to‏ ‎purify ‎adversarial ‎examples, ‎removing ‎the‏ ‎perturbations ‎and‏ ‎restoring‏ ‎the ‎malware ‎to‏ ‎a ‎detectable‏ ‎form.

📌 Techniques ‎Used: The ‎system ‎employs‏ ‎techniques‏ ‎such ‎as‏ ‎autoencoders ‎and‏ ‎generative ‎adversarial ‎networks ‎(GANs) ‎for‏ ‎the‏ ‎purification ‎process.

Techniques‏ ‎Used ‎in‏ ‎Evasion ‎Attacks:

📌 Adversarial ‎Examples: Attackers ‎create ‎adversarial‏ ‎examples‏ ‎by‏ ‎adding ‎small‏ ‎perturbations ‎to‏ ‎malware ‎samples.‏ ‎These‏ ‎perturbations ‎are‏ ‎designed ‎to ‎exploit ‎vulnerabilities ‎in‏ ‎the ‎detection‏ ‎model’s‏ ‎decision ‎boundaries.

📌 Obfuscation: Techniques ‎such‏ ‎as ‎code‏ ‎encryption, ‎packing, ‎and ‎polymorphism‏ ‎are‏ ‎used ‎to‏ ‎alter ‎the‏ ‎appearance ‎of ‎the ‎malware ‎without‏ ‎changing‏ ‎its ‎functionality.

📌 Feature‏ ‎Manipulation: ‎Modifying‏ ‎features ‎used ‎by ‎the ‎detection‏ ‎model,‏ ‎such‏ ‎as ‎adding‏ ‎benign ‎features‏ ‎or ‎obfuscating‏ ‎malicious‏ ‎ones, ‎to‏ ‎evade ‎detection.

Significance:

📌 Improved ‎Security: ‎By ‎enhancing‏ ‎the ‎detection‏ ‎capabilities‏ ‎of ‎malware ‎detection‏ ‎systems, ‎MalPurifier‏ ‎aims ‎to ‎provide ‎better‏ ‎security‏ ‎for ‎Android‏ ‎devices.

📌 Research ‎Contribution:‏ ‎The ‎paper ‎contributes ‎to ‎the‏ ‎field‏ ‎by ‎addressing‏ ‎the ‎gap‏ ‎in ‎robust ‎malware ‎detection ‎solutions‏ ‎that‏ ‎can‏ ‎withstand ‎adversarial‏ ‎attacks.

Benefits

📌 High ‎Accuracy: MalPurifier‏ ‎demonstrates ‎high‏ ‎effectiveness,‏ ‎achieving ‎accuracies‏ ‎over ‎90,91% ‎against ‎37 ‎different‏ ‎evasion ‎attacks.‏ ‎This‏ ‎indicates ‎a ‎robust‏ ‎performance ‎in‏ ‎detecting ‎adversarially ‎perturbed ‎malware‏ ‎samples.

📌 Scalability:‏ ‎The ‎method‏ ‎is ‎easily‏ ‎scalable ‎to ‎different ‎detection ‎models,‏ ‎offering‏ ‎flexibility ‎and‏ ‎robustness ‎in‏ ‎its ‎implementation ‎without ‎requiring ‎significant‏ ‎modifications.

📌 Lightweight‏ ‎and‏ ‎Flexible: ‎The‏ ‎use ‎of‏ ‎a ‎plug-and-play‏ ‎Denoising‏ ‎AutoEncoder ‎(DAE)‏ ‎model ‎allows ‎for ‎a ‎lightweight‏ ‎and ‎flexible‏ ‎approach‏ ‎to ‎purifying ‎adversarial‏ ‎malware. ‎This‏ ‎ensures ‎that ‎the ‎method‏ ‎can‏ ‎be ‎integrated‏ ‎into ‎existing‏ ‎systems ‎with ‎minimal ‎overhead.

📌 Comprehensive ‎Defense:‏ ‎By‏ ‎focusing ‎on‏ ‎adversarial ‎purification,‏ ‎MalPurifier ‎addresses ‎a ‎critical ‎vulnerability‏ ‎in‏ ‎ML-based‏ ‎malware ‎detection‏ ‎systems, ‎enhancing‏ ‎their ‎overall‏ ‎security‏ ‎and ‎robustness‏ ‎against ‎sophisticated ‎evasion ‎techniques.

Limitations

📌 Generalization ‎to‏ ‎Other ‎Platforms: The‏ ‎current‏ ‎implementation ‎and ‎evaluation‏ ‎are ‎focused‏ ‎solely ‎on ‎the ‎Android‏ ‎ecosystem.‏ ‎The ‎effectiveness‏ ‎of ‎MalPurifier‏ ‎on ‎other ‎platforms, ‎such ‎as‏ ‎iOS‏ ‎or ‎Windows,‏ ‎remains ‎untested‏ ‎and ‎uncertain.

📌 Scalability ‎Concerns: While ‎the ‎paper‏ ‎claims‏ ‎scalability,‏ ‎the ‎actual‏ ‎performance ‎and‏ ‎efficiency ‎of‏ ‎MalPurifier‏ ‎in ‎large-scale,‏ ‎real-time ‎detection ‎scenarios ‎have ‎not‏ ‎been ‎thoroughly‏ ‎evaluated.‏ ‎This ‎raises ‎questions‏ ‎about ‎its‏ ‎practical ‎applicability ‎in ‎high-volume‏ ‎environments.

📌 Computational‏ ‎Overhead: ‎The‏ ‎purification ‎process‏ ‎introduces ‎additional ‎computational ‎overhead. ‎Although‏ ‎described‏ ‎as ‎lightweight,‏ ‎the ‎impact‏ ‎on ‎system ‎performance, ‎especially ‎in‏ ‎resource-constrained‏ ‎environments,‏ ‎needs ‎further‏ ‎investigation.

📌 Adversarial ‎Adaptation: Attackers‏ ‎may ‎develop‏ ‎new‏ ‎strategies ‎to‏ ‎adapt ‎to ‎the ‎purification ‎process,‏ ‎potentially ‎circumventing‏ ‎the‏ ‎defenses ‎provided ‎by‏ ‎MalPurifier. ‎Continuous‏ ‎adaptation ‎and ‎improvement ‎of‏ ‎the‏ ‎purification ‎techniques‏ ‎are ‎necessary‏ ‎to ‎stay ‎ahead ‎of ‎evolving‏ ‎threats.

📌 Evaluation‏ ‎Metrics: ‎The‏ ‎evaluation ‎primarily‏ ‎focuses ‎on ‎detection ‎accuracy ‎and‏ ‎robustness‏ ‎against‏ ‎evasion ‎attacks.‏ ‎Other ‎important‏ ‎metrics, ‎such‏ ‎as‏ ‎energy ‎consumption,‏ ‎user ‎experience, ‎and ‎long-term ‎efficacy,‏ ‎are ‎not‏ ‎addressed,‏ ‎limiting ‎the ‎comprehensiveness‏ ‎of ‎the‏ ‎assessment.

📌 Integration ‎with ‎Existing ‎Systems: The‏ ‎paper‏ ‎does ‎not‏ ‎extensively ‎discuss‏ ‎the ‎integration ‎of ‎MalPurifier ‎with‏ ‎existing‏ ‎malware ‎detection‏ ‎systems ‎and‏ ‎the ‎potential ‎impact ‎on ‎their‏ ‎performance.‏ ‎Seamless‏ ‎integration ‎strategies‏ ‎and ‎combined‏ ‎performance ‎evaluations‏ ‎are‏ ‎needed

Impact ‎on‏ ‎Technology

📌 Advancement ‎in ‎Malware ‎Detection: MalPurifier ‎represents‏ ‎a ‎significant‏ ‎technological‏ ‎advancement ‎in ‎the‏ ‎field ‎of‏ ‎malware ‎detection. ‎By ‎leveraging‏ ‎adversarial‏ ‎purification ‎techniques,‏ ‎it ‎enhances‏ ‎the ‎robustness ‎of ‎Android ‎malware‏ ‎detection‏ ‎systems ‎against‏ ‎evasion ‎attacks.‏ ‎This ‎innovation ‎can ‎lead ‎to‏ ‎the‏ ‎development‏ ‎of ‎more‏ ‎secure ‎and‏ ‎reliable ‎malware‏ ‎detection‏ ‎tools.

📌 Adversarial ‎Defense‏ ‎Mechanisms: ‎The ‎paper ‎contributes ‎to‏ ‎the ‎broader‏ ‎field‏ ‎of ‎adversarial ‎machine‏ ‎learning ‎by‏ ‎demonstrating ‎the ‎effectiveness ‎of‏ ‎adversarial‏ ‎purification. ‎This‏ ‎technique ‎can‏ ‎be ‎adapted ‎and ‎applied ‎to‏ ‎other‏ ‎areas ‎of‏ ‎cybersecurity, ‎such‏ ‎as ‎network ‎intrusion ‎detection ‎and‏ ‎endpoint‏ ‎security,‏ ‎thereby ‎improving‏ ‎the ‎overall‏ ‎resilience ‎of‏ ‎these‏ ‎systems ‎against‏ ‎sophisticated ‎attacks.

📌 Machine ‎Learning ‎Applications: The ‎use‏ ‎of ‎Denoising‏ ‎AutoEncoders‏ ‎(DAEs) ‎and ‎Generative‏ ‎Adversarial ‎Networks‏ ‎(GANs) ‎in ‎MalPurifier ‎showcases‏ ‎the‏ ‎potential ‎of‏ ‎advanced ‎machine‏ ‎learning ‎models ‎in ‎cybersecurity ‎applications.‏ ‎This‏ ‎can ‎inspire‏ ‎further ‎research‏ ‎and ‎development ‎in ‎applying ‎these‏ ‎models‏ ‎to‏ ‎other ‎security‏ ‎challenges, ‎such‏ ‎as ‎phishing‏ ‎detection‏ ‎and ‎fraud‏ ‎prevention.

Impact ‎on ‎Industry

📌 Enhanced ‎Security ‎for‏ ‎Mobile ‎Devices: Industries‏ ‎that‏ ‎rely ‎heavily ‎on‏ ‎mobile ‎devices,‏ ‎such ‎as ‎healthcare, ‎finance,‏ ‎and‏ ‎retail, ‎can‏ ‎benefit ‎from‏ ‎the ‎enhanced ‎security ‎provided ‎by‏ ‎MalPurifier.‏ ‎By ‎improving‏ ‎the ‎detection‏ ‎of ‎Android ‎malware, ‎these ‎industries‏ ‎can‏ ‎better‏ ‎protect ‎sensitive‏ ‎data ‎and‏ ‎maintain ‎the‏ ‎integrity‏ ‎of ‎their‏ ‎mobile ‎applications.

📌 Reduction ‎in ‎Cybersecurity ‎Incidents: The‏ ‎implementation ‎of‏ ‎robust‏ ‎malware ‎detection ‎systems‏ ‎like ‎MalPurifier‏ ‎can ‎lead ‎to ‎a‏ ‎reduction‏ ‎in ‎cybersecurity‏ ‎incidents, ‎such‏ ‎as ‎data ‎breaches ‎and ‎ransomware‏ ‎attacks.‏ ‎This ‎can‏ ‎result ‎in‏ ‎significant ‎cost ‎savings ‎for ‎businesses‏ ‎and‏ ‎reduce‏ ‎the ‎potential‏ ‎for ‎reputational‏ ‎damage.

📌 Compliance ‎and‏ ‎Regulatory‏ ‎Benefits: Enhanced ‎malware‏ ‎detection ‎capabilities ‎can ‎help ‎organizations‏ ‎comply ‎with‏ ‎regulatory‏ ‎requirements ‎related ‎to‏ ‎data ‎protection‏ ‎and ‎cybersecurity. ‎For ‎example,‏ ‎industries‏ ‎subject ‎to‏ ‎regulations ‎like‏ ‎GDPR ‎or ‎HIPAA ‎can ‎leverage‏ ‎MalPurifier‏ ‎to ‎ensure‏ ‎they ‎meet‏ ‎stringent ‎security ‎standards.

📌 Innovation ‎in ‎Cybersecurity‏ ‎Products: Cybersecurity‏ ‎companies‏ ‎can ‎incorporate‏ ‎the ‎techniques‏ ‎presented ‎in‏ ‎the‏ ‎paper ‎into‏ ‎their ‎products, ‎leading ‎to ‎the‏ ‎development ‎of‏ ‎next-generation‏ ‎security ‎solutions. ‎This‏ ‎can ‎provide‏ ‎a ‎competitive ‎edge ‎in‏ ‎the‏ ‎market ‎and‏ ‎drive ‎innovation‏ ‎in ‎the ‎cybersecurity ‎industry.

📌 Cross-Industry ‎Applications:‏ ‎While‏ ‎the ‎paper‏ ‎focuses ‎on‏ ‎Android ‎malware ‎detection, ‎the ‎underlying‏ ‎principles‏ ‎of‏ ‎adversarial ‎purification‏ ‎can ‎be‏ ‎applied ‎across‏ ‎various‏ ‎industries. ‎Sectors‏ ‎such ‎as ‎manufacturing, ‎public ‎administration,‏ ‎and ‎transportation,‏ ‎which‏ ‎are ‎also ‎affected‏ ‎by ‎malware,‏ ‎can ‎adapt ‎these ‎techniques‏ ‎to‏ ‎enhance ‎their‏ ‎cybersecurity ‎measures.



Читать: 12+ мин
logo Хроники кибер-безопасника

MalPurifier. Детокс вашего андроид устройства по одному вредоносному байту за раз

Ещё ‎один‏ ‎документ ‎для ‎анализа. ‎На ‎этот‏ ‎раз ‎это‏ ‎захватывающая‏ ‎статья ‎«MalPurifier: ‎повышение‏ ‎эффективности ‎обнаружения‏ ‎вредоносных ‎программ ‎в ‎Android‏ ‎за‏ ‎счет ‎состязательной‏ ‎защиты ‎от‏ ‎атак ‎с ‎уклонением». ‎Потому ‎что,‏ ‎знаете‏ ‎ли, ‎миру‏ ‎действительно ‎нужна‏ ‎была ‎ещё ‎одна ‎статья ‎по‏ ‎обнаружению‏ ‎вредоносных‏ ‎программ ‎в‏ ‎Android.

Сначала ‎мы‏ ‎рассмотрим ‎введение‏ ‎и‏ ‎мотивацию, ‎чтобы‏ ‎понять, ‎почему ‎необходимо ‎ещё ‎одно‏ ‎решение ‎для‏ ‎борьбы‏ ‎с ‎постоянно ‎растущими‏ ‎угрозами, ‎связанными‏ ‎с ‎вредоносными ‎программами ‎для‏ ‎Android.‏ ‎Предупреждение ‎о‏ ‎спойлере: ‎это‏ ‎потому, ‎что ‎современные ‎подходы, ‎основанные‏ ‎на‏ ‎машинном ‎обучении,‏ ‎так ‎же‏ ‎уязвимы, ‎как ‎карточный ‎домик ‎во‏ ‎время‏ ‎шторма.

Затем‏ ‎мы ‎перейдём‏ ‎к ‎экспериментальной‏ ‎установке ‎и‏ ‎результатам.‏ ‎В ‎этом‏ ‎разделе ‎будет ‎показано, ‎как ‎MalPurifier‏ ‎превосходит ‎другие‏ ‎средства‏ ‎защиты, ‎достигая ‎точности‏ ‎более ‎90,91%.‏ ‎Впечатляет, ‎если ‎не ‎принимать‏ ‎во‏ ‎внимание ‎тот‏ ‎факт, ‎что‏ ‎он ‎протестирован ‎на ‎наборах ‎данных,‏ ‎которые‏ ‎могут ‎отражать,‏ ‎а ‎могут‏ ‎и ‎не ‎отражать ‎реальные ‎сценарии.

В‏ ‎разделе‏ ‎«Механизмы‏ ‎защиты» ‎будут‏ ‎рассмотрены ‎различные‏ ‎стратегии, ‎используемые‏ ‎MalPurifier,‏ ‎такие ‎как‏ ‎состязательная ‎очистка ‎и ‎состязательное ‎обучение.‏ ‎Потому ‎что‏ ‎ничто‏ ‎так ‎не ‎говорит‏ ‎о ‎«надёжной‏ ‎защите», ‎как ‎подбрасывание ‎более‏ ‎убедительных‏ ‎примеров ‎решения‏ ‎проблемы.

Конечно, ‎ни‏ ‎одна ‎статья ‎не ‎будет ‎полной‏ ‎без‏ ‎признания ‎её‏ ‎недостатков ‎и‏ ‎будущей ‎работы. ‎Здесь ‎авторы ‎смиренно‏ ‎признают,‏ ‎что‏ ‎их ‎решение‏ ‎не ‎идеально,‏ ‎и ‎предложат‏ ‎области‏ ‎для ‎будущих‏ ‎исследований. ‎Поскольку, ‎естественно, ‎поиск ‎идеальной‏ ‎системы ‎обнаружения‏ ‎вредоносных‏ ‎программ ‎никогда ‎не‏ ‎заканчивается.

Этот ‎анализ‏ ‎предоставит ‎высококачественное ‎краткое ‎изложение‏ ‎документа,‏ ‎подчеркнув ‎его‏ ‎вклад ‎и‏ ‎значение ‎для ‎специалистов ‎по ‎безопасности‏ ‎и‏ ‎других ‎специалистов‏ ‎в ‎различных‏ ‎областях. ‎Он ‎будет ‎особенно ‎полезен‏ ‎тем,‏ ‎кто‏ ‎любит ‎читать‏ ‎о ‎последних‏ ‎достижениях ‎в‏ ‎области‏ ‎обнаружения ‎вредоносных‏ ‎программ, ‎даже ‎если ‎их ‎практическое‏ ‎применение ‎все‏ ‎ещё‏ ‎вызывает ‎споры.

-------

В ‎документе‏ ‎представлен ‎анализ‏ ‎статьи ‎" ‎MalPurifier: ‎Enhancing‏ ‎Android‏ ‎Malware ‎Detection‏ ‎with ‎Adversarial‏ ‎Purification ‎against ‎Evasion ‎Attacks». ‎Анализ‏ ‎посвящён‏ ‎различным ‎аспектам‏ ‎статьи, ‎включая‏ ‎используемую ‎методологию, ‎экспериментальную ‎установку ‎и‏ ‎полученные‏ ‎результаты.

Этот‏ ‎анализ ‎представляет‏ ‎собой ‎качественное‏ ‎изложение ‎документа,‏ ‎предлагающее‏ ‎ценную ‎информацию‏ ‎специалистам ‎в ‎области ‎безопасности, ‎исследователям‏ ‎и ‎практикам‏ ‎в‏ ‎различных ‎областях. ‎Понимая‏ ‎сильные ‎стороны‏ ‎и ‎ограничения ‎платформы ‎MalPurifier,‏ ‎заинтересованные‏ ‎стороны ‎смогут‏ ‎лучше ‎оценить‏ ‎её ‎потенциальные ‎применения ‎и ‎вклад‏ ‎в‏ ‎совершенствование ‎систем‏ ‎обнаружения ‎вредоносных‏ ‎программ ‎Android. ‎Анализ ‎особенно ‎полезен‏ ‎для‏ ‎тех,‏ ‎кто ‎занимается‏ ‎кибербезопасностью, ‎машинным‏ ‎обучением ‎и‏ ‎безопасностью‏ ‎мобильных ‎приложений,‏ ‎поскольку ‎в ‎нем ‎освещаются ‎инновационные‏ ‎подходы ‎к‏ ‎снижению‏ ‎рисков, ‎связанных ‎с‏ ‎атаками ‎с‏ ‎целью ‎предотвращения ‎обнаружения.

В ‎документе‏ ‎под‏ ‎названием ‎«MalPurifier:‏ ‎Enhancing ‎Android‏ ‎Malware ‎Detection ‎with ‎Adversarial ‎Purification‏ ‎against‏ ‎Evasion ‎Attacks»‏ ‎представлен ‎новый‏ ‎подход ‎к ‎улучшению ‎обнаружения ‎вредоносных‏ ‎программ‏ ‎для‏ ‎Android, ‎особенно‏ ‎в ‎условиях‏ ‎состязательных ‎атак‏ ‎уклонения‏ ‎(adversarial ‎evasion‏ ‎attacks). ‎В ‎документе ‎подчёркивается, ‎что‏ ‎это ‎первая‏ ‎попытка‏ ‎использовать ‎состязательную ‎очистку‏ ‎для ‎смягчения‏ ‎атак ‎в ‎экосистеме ‎Android,‏ ‎предоставляя‏ ‎многообещающее ‎решение‏ ‎для ‎повышения‏ ‎безопасности ‎систем ‎обнаружения ‎вредоносных ‎программ‏ ‎Android.

Мотивация:

📌 Распространённость‏ ‎вредоносного ‎ПО‏ ‎для ‎Android: В‏ ‎документе ‎освещается ‎широко ‎распространённая ‎проблема‏ ‎вредоносного‏ ‎ПО‏ ‎для ‎Android,‏ ‎которое ‎представляет‏ ‎значительные ‎угрозы‏ ‎безопасности‏ ‎для ‎пользователей‏ ‎и ‎устройств.

📌 Методы ‎уклонения: часто ‎используются ‎методы‏ ‎уклонения ‎для‏ ‎модификации‏ ‎вредоносных ‎программ, ‎что‏ ‎затрудняет ‎их‏ ‎идентификацию ‎традиционными ‎системами ‎обнаружения.

Проблемы:

📌 Состязательные‏ ‎атаки: обсуждаются‏ ‎проблемы, ‎связанные‏ ‎с ‎состязательными‏ ‎атаками, ‎когда ‎небольшие ‎изменения ‎кода‏ ‎вредоносных‏ ‎программ ‎позволяют‏ ‎избежать ‎обнаружения.

📌 Уязвимости‏ ‎системы ‎обнаружения: ‎Существующие ‎системы ‎обнаружения‏ ‎вредоносных‏ ‎программ‏ ‎уязвимы ‎для‏ ‎этих ‎состязательных‏ ‎атак, ‎что‏ ‎требует‏ ‎более ‎надёжных‏ ‎решений.

Цель ‎и ‎предлагаемое ‎решение:

📌 Повышение ‎надёжности‏ ‎обнаружения: цель ‎исследования‏ ‎—‏ ‎повышение ‎устойчивость ‎систем‏ ‎обнаружения ‎вредоносных‏ ‎программ ‎Android ‎к ‎атакам‏ ‎с‏ ‎использованием ‎состязательного‏ ‎уклонения.

📌 Предлагаемое ‎решение: MalPurifier,‏ ‎направлено ‎на ‎очистку ‎мусора ‎в‏ ‎образцах‏ ‎и ‎восстановление‏ ‎вредоносного ‎ПО‏ ‎до ‎обнаруживаемой ‎формы.

📌 Используемые ‎методы: ‎В‏ ‎системе‏ ‎используются‏ ‎такие ‎методы,‏ ‎как ‎автокодирование‏ ‎и ‎генеративные‏ ‎состязательные‏ ‎сети ‎(GAN)‏ ‎для ‎процесса ‎очистки.

Техники, ‎используемые ‎при‏ ‎атаках ‎уклонения:

📌 Образцы‏ ‎состязательности:‏ ‎часто ‎используются ‎методы‏ ‎уклонения ‎для‏ ‎модификации ‎вредоносных ‎программ, ‎что‏ ‎затрудняет‏ ‎их ‎идентификацию‏ ‎традиционными ‎системами‏ ‎обнаружения.

📌 Обфусцирование: Такие ‎методы, ‎как ‎шифрование ‎кода,‏ ‎упаковка‏ ‎и ‎полиморфизм,‏ ‎используются ‎для‏ ‎изменения ‎внешнего ‎вида ‎вредоносного ‎ПО‏ ‎без‏ ‎изменения‏ ‎его ‎функциональности.

Значение:

📌 Улучшенная‏ ‎безопасность: Расширяя ‎возможности‏ ‎систем ‎обнаружения‏ ‎вредоносных‏ ‎программ, ‎MalPurifier‏ ‎стремится ‎обеспечить ‎лучшую ‎безопасность ‎устройств‏ ‎Android.

📌 Вклад ‎в‏ ‎исследование:‏ ‎Статья ‎вносит ‎свой‏ ‎вклад, ‎устраняя‏ ‎пробел ‎в ‎надёжных ‎решениях‏ ‎для‏ ‎обнаружения ‎вредоносных‏ ‎программ, ‎способных‏ ‎противостоять ‎злоумышленным ‎атакам.

Преимущества

📌 Высокая ‎точность: ‎MalPurifier‏ ‎демонстрирует‏ ‎высокую ‎эффективность,‏ ‎достигая ‎точности‏ ‎более ‎90,91% ‎при ‎37 ‎различных‏ ‎атаках.‏ ‎Это‏ ‎указывает ‎на‏ ‎высокую ‎производительность‏ ‎при ‎обнаружении‏ ‎вредоносных‏ ‎программ.

📌 Масштабируемость: Метод ‎легко‏ ‎масштабируется ‎для ‎различных ‎моделей ‎обнаружения,‏ ‎обеспечивая ‎гибкость‏ ‎и‏ ‎надёжность ‎в ‎его‏ ‎реализации, ‎не‏ ‎требуя ‎значительных ‎модификаций.

📌 Лёгкий ‎и‏ ‎гибкий:‏ ‎Использование ‎модели‏ ‎с ‎шумоподавляющим‏ ‎автоэнкодером ‎(Denoising ‎AutoEncoder, ‎DAE) ‎обеспечивает‏ ‎лёгкий‏ ‎и ‎гибкий‏ ‎подход ‎к‏ ‎очистке ‎от ‎вредоносного ‎ПО. ‎Это‏ ‎гарантирует,‏ ‎что‏ ‎метод ‎может‏ ‎быть ‎интегрирован‏ ‎в ‎существующие‏ ‎системы‏ ‎с ‎минимальными‏ ‎накладными ‎расходами.

📌 Комплексная ‎защита: ‎Уделяя ‎особое‏ ‎внимание ‎очистке‏ ‎от‏ ‎вредоносных ‎программ, ‎MalPurifier‏ ‎устраняет ‎критическую‏ ‎уязвимость ‎в ‎системах ‎обнаружения‏ ‎вредоносных‏ ‎программ ‎на‏ ‎основе ‎ML,‏ ‎повышая ‎их ‎общую ‎безопасность ‎и‏ ‎устойчивость‏ ‎к ‎изощренным‏ ‎методам ‎уклонения.

Ограничения

📌 Обобщение‏ ‎на ‎другие ‎платформы: Текущая ‎реализация ‎и‏ ‎оценка‏ ‎сосредоточены‏ ‎исключительно ‎на‏ ‎экосистеме ‎Android.‏ ‎Эффективность ‎MalPurifier‏ ‎на‏ ‎других ‎платформах,‏ ‎таких ‎как ‎iOS ‎или ‎Windows,‏ ‎остаётся ‎непроверенной‏ ‎и‏ ‎неопределённой.

📌 Проблемы ‎с ‎масштабируемостью: хотя‏ ‎в ‎документе‏ ‎утверждается ‎о ‎масштабируемости, ‎фактическая‏ ‎производительность‏ ‎и ‎действенность‏ ‎MalPurifier ‎в‏ ‎крупномасштабных ‎сценариях ‎обнаружения ‎в ‎реальном‏ ‎времени‏ ‎тщательно ‎не‏ ‎оценивались. ‎Это‏ ‎вызывает ‎вопросы ‎о ‎практической ‎применимости‏ ‎в‏ ‎средах‏ ‎с ‎соответствующими‏ ‎сценариями ‎нагрузки.

📌 Вычислительные‏ ‎издержки: Процесс ‎очистки‏ ‎приводит‏ ‎к ‎дополнительным‏ ‎вычислительным ‎издержкам. ‎Несмотря ‎на ‎то,‏ ‎что ‎он‏ ‎описывается‏ ‎как ‎лёгкий, ‎его‏ ‎влияние ‎на‏ ‎производительность ‎системы, ‎особенно ‎в‏ ‎средах‏ ‎с ‎ограниченными‏ ‎ресурсами ‎требует‏ ‎дальнейшего ‎изучения.

📌 Адаптация ‎к ‎состязательности: ‎могут‏ ‎разрабатываться‏ ‎новые ‎стратегии‏ ‎для ‎адаптации‏ ‎к ‎процессу ‎очистки, ‎потенциально ‎обходя‏ ‎средства‏ ‎защиты,‏ ‎предоставляемые ‎MalPurifier.‏ ‎Постоянная ‎адаптация‏ ‎и ‎совершенствование‏ ‎методов‏ ‎необходимы ‎для‏ ‎своевременного ‎опережения ‎угроз.

📌 Показатели ‎оценки: ‎Оценка‏ ‎в ‎первую‏ ‎очередь‏ ‎фокусируется ‎на ‎точности‏ ‎обнаружения ‎и‏ ‎устойчивости ‎к ‎атакам ‎уклонения.‏ ‎Другие‏ ‎важные ‎показатели,‏ ‎такие ‎как‏ ‎потребление ‎энергии, ‎опыт ‎работы ‎с‏ ‎пользователем‏ ‎и ‎долгосрочная‏ ‎эффективность, ‎не‏ ‎учитываются, ‎что ‎ограничивает ‎полноту ‎оценки.

📌 Интеграция‏ ‎с‏ ‎существующими‏ ‎системами: В ‎документе‏ ‎подробно ‎не‏ ‎обсуждается ‎интеграция‏ ‎MalPurifier‏ ‎с ‎существующими‏ ‎системами ‎обнаружения ‎вредоносных ‎программ ‎и‏ ‎потенциальное ‎влияние‏ ‎на‏ ‎их ‎производительность. ‎Необходимы‏ ‎бесшовные ‎стратегии‏ ‎интеграции ‎и ‎комбинированные ‎оценки‏ ‎эффективности

Влияние‏ ‎на ‎технологию

📌 Прогресс‏ ‎в ‎обнаружении‏ ‎вредоносных ‎программ: ‎MalPurifier ‎представляет ‎собой‏ ‎значительный‏ ‎технологический ‎прогресс‏ ‎в ‎области‏ ‎обнаружения ‎вредоносных ‎программ. ‎Используя ‎методы‏ ‎состязательной‏ ‎очистки,‏ ‎он ‎повышает‏ ‎устойчивость ‎систем‏ ‎обнаружения ‎вредоносных‏ ‎программ‏ ‎Android ‎к‏ ‎атакам-уклонениям. ‎Это ‎нововведение ‎может ‎привести‏ ‎к ‎разработке‏ ‎более‏ ‎безопасных ‎и ‎надёжных‏ ‎инструментов ‎обнаружения‏ ‎вредоносных ‎программ.

📌 Механизмы ‎защиты ‎от‏ ‎состязательности: Статья‏ ‎вносит ‎вклад‏ ‎в ‎более‏ ‎широкую ‎область ‎состязательного ‎машинного ‎обучения,‏ ‎демонстрируя‏ ‎эффективность ‎состязательной‏ ‎очистки. ‎Метод‏ ‎может ‎быть ‎адаптирован ‎к ‎другим‏ ‎областям‏ ‎кибербезопасности,‏ ‎таким ‎как‏ ‎обнаружение ‎сетевых‏ ‎вторжений ‎и‏ ‎защита‏ ‎конечных ‎точек,‏ ‎повышая ‎общую ‎устойчивость ‎систем ‎к‏ ‎новым ‎атакам.

📌 Приложения‏ ‎для‏ ‎машинного ‎обучения: Использование ‎шумоподавляющих‏ ‎автоэнкодеров ‎(DAE)‏ ‎и ‎генеративных ‎состязательных ‎сетей‏ ‎(GAN)‏ ‎в ‎MalPurifier‏ ‎демонстрирует ‎потенциал‏ ‎передовых ‎моделей ‎машинного ‎обучения ‎в‏ ‎приложениях‏ ‎кибербезопасности. ‎Это‏ ‎может ‎вдохновить‏ ‎на ‎дальнейшие ‎исследования ‎и ‎разработки‏ ‎по‏ ‎применению‏ ‎этих ‎моделей‏ ‎к ‎другим‏ ‎задачам ‎безопасности,‏ ‎таким‏ ‎как ‎обнаружение‏ ‎фишинга ‎и ‎предотвращение ‎мошенничества.

Влияние ‎на‏ ‎отрасль

📌 Повышенная ‎безопасность‏ ‎мобильных‏ ‎устройств: Отрасли, ‎которые ‎в‏ ‎значительной ‎степени‏ ‎зависят ‎от ‎мобильных ‎устройств,‏ ‎такие‏ ‎как ‎здравоохранение,‏ ‎финансы ‎и‏ ‎розничная ‎торговля, ‎могут ‎извлечь ‎выгоду‏ ‎от‏ ‎применения ‎MalPurifier,‏ ‎как ‎следствие,‏ ‎могут ‎лучше ‎защищать ‎конфиденциальные ‎данные‏ ‎и‏ ‎поддерживать‏ ‎целостность ‎мобильных‏ ‎приложений.

📌 Снижение ‎числа‏ ‎инцидентов, ‎связанных‏ ‎с‏ ‎кибербезопасностью: Внедрение ‎надёжных‏ ‎систем ‎обнаружения ‎вредоносных ‎программ, ‎таких‏ ‎как ‎MalPurifier,‏ ‎может‏ ‎привести ‎к ‎сокращению‏ ‎инцидентов ‎кибербезопасности,‏ ‎таких ‎как ‎утечка ‎данных‏ ‎и‏ ‎атаки ‎программ-вымогателей,‏ ‎а ‎также‏ ‎значительной ‎экономии ‎средств ‎для ‎бизнеса‏ ‎и‏ ‎снижению ‎вероятности‏ ‎репутационного ‎ущерба.

📌 Преимущества‏ ‎соблюдения ‎нормативных ‎требований: Расширенные ‎возможности ‎обнаружения‏ ‎вредоносных‏ ‎программ‏ ‎могут ‎помочь‏ ‎организациям ‎соблюдать‏ ‎нормативные ‎требования,‏ ‎связанные‏ ‎с ‎защитой‏ ‎данных ‎и ‎кибербезопасностью. ‎Например, ‎отрасли,‏ ‎подпадающие ‎под‏ ‎действие‏ ‎таких ‎нормативных ‎актов,‏ ‎как ‎GDPR‏ ‎или ‎HIPAA, ‎могут ‎использовать‏ ‎MalPurifier‏ ‎для ‎обеспечения‏ ‎соответствия ‎строгим‏ ‎стандартам ‎безопасности.

📌 Инновации ‎в ‎продуктах ‎кибербезопасности: Компании,‏ ‎занимающиеся‏ ‎кибербезопасностью, ‎могут‏ ‎внедрять ‎методы,‏ ‎представленные ‎в ‎документе, ‎в ‎свои‏ ‎продукты,‏ ‎что‏ ‎приведёт ‎к‏ ‎разработке ‎решений‏ ‎безопасности ‎следующего‏ ‎поколения‏ ‎для ‎повышения‏ ‎конкурентного ‎преимущества ‎на ‎рынке ‎и‏ ‎стимулировать ‎инновации‏ ‎в‏ ‎индустрии ‎кибербезопасности.

📌 Межотраслевые ‎приложения: хотя‏ ‎в ‎статье‏ ‎основное ‎внимание ‎уделяется ‎обнаружению‏ ‎вредоносных‏ ‎Android-программ, ‎основополагающие‏ ‎принципы ‎состязательной‏ ‎очистки ‎могут ‎применяться ‎в ‎различных‏ ‎отраслях.‏ ‎Такие ‎секторы,‏ ‎как ‎производство,‏ ‎государственное ‎управление ‎и ‎транспорт, ‎которые‏ ‎также‏ ‎подвержены‏ ‎воздействию ‎вредоносных‏ ‎программ, ‎могут‏ ‎адаптировать ‎эти‏ ‎методы‏ ‎для ‎усиления‏ ‎своих ‎мер ‎кибербезопасности.




Читать: 9+ мин
S
logo
Soulskiller

Код в проекте

Привет. ‎Расскажу‏ ‎про ‎то, ‎как ‎устроен ‎код‏ ‎в ‎проекте,‏ ‎чего‏ ‎придерживался, ‎что ‎пришлось‏ ‎менять. ‎Тут‏ ‎есть, ‎о ‎чем ‎поговорить.‏ ‎Я‏ ‎поделюсь ‎своим‏ ‎опытом.

Разграничения

Как ‎уже‏ ‎писал ‎в ‎предыдущей ‎статье, ‎пространства‏ ‎имен‏ ‎– ‎это‏ ‎отличный ‎способ‏ ‎разграничить ‎островки ‎игровой ‎логики ‎в‏ ‎проекте‏ ‎в‏ ‎крупном ‎масштабе.‏ ‎На ‎более‏ ‎низком ‎уровне‏ ‎идет‏ ‎разбиение ‎на‏ ‎классы. ‎Помните, ‎Божественный ‎объект ‎–‏ ‎это ‎антипаттерн.‏ ‎К‏ ‎слову, ‎один ‎заказчик‏ ‎немного ‎разбирался‏ ‎в ‎программировании ‎и ‎всерьез‏ ‎хотел,‏ ‎чтобы ‎мы‏ ‎делали ‎именно‏ ‎божественные ‎объекты ‎в ‎играх.

Тогда ‎еще‏ ‎совет.‏ ‎Вы ‎–‏ ‎специалист ‎своего‏ ‎дела, ‎который ‎знает ‎технические ‎подробности‏ ‎реализации‏ ‎проекта,‏ ‎и ‎это‏ ‎ваша ‎обязанность‏ ‎– ‎настоять‏ ‎на‏ ‎правильном ‎обоснованном‏ ‎техническом ‎решении.

Альманах

Не ‎забываем ‎про ‎абстракцию.‏ ‎Если ‎того‏ ‎требует‏ ‎ситуация, ‎сначала ‎делаем‏ ‎абстрактный ‎класс‏ ‎или ‎интерфейс, ‎потом ‎более‏ ‎конкретную‏ ‎реализацию. ‎Не‏ ‎беспокойтесь, ‎никогда‏ ‎не ‎поздно ‎начать ‎извлекать ‎методы‏ ‎и‏ ‎выделять ‎классы.

Интерфейс‏ ‎или ‎абстрактный‏ ‎класс? ‎Абстрактный ‎класс ‎уместней ‎использовать‏ ‎при‏ ‎очевидной‏ ‎общности ‎наследников,‏ ‎интерфейс ‎же‏ ‎– ‎лишь‏ ‎модель‏ ‎поведения, ‎которую‏ ‎могут ‎реализовать ‎объекты, ‎не ‎имеющие‏ ‎ничего ‎общего‏ ‎между‏ ‎собой.

Совет. ‎Учи ‎рефакторинг, это‏ ‎реально ‎полезно.‏ ‎Учи ‎горячие ‎клавиши ‎в‏ ‎среде‏ ‎программирования, ‎это‏ ‎реально ‎полезно.‏ ‎На ‎новом ‎месте ‎работы ‎я‏ ‎научился‏ ‎многому ‎у‏ ‎старших ‎коллег,‏ ‎и ‎в ‎то ‎же ‎время‏ ‎мне‏ ‎тоже‏ ‎было ‎что‏ ‎рассказать ‎и‏ ‎показать ‎им.

Пример‏ ‎абстракции.‏ ‎Когда ‎главный‏ ‎герой ‎знакомится ‎с ‎новым ‎видом‏ ‎противника, ‎то‏ ‎игроку‏ ‎показывается ‎описание ‎нового‏ ‎врага ‎и‏ ‎его ‎особенности, ‎характерные ‎черты‏ ‎поведения.‏ ‎То ‎же‏ ‎самое ‎происходит‏ ‎с ‎новыми ‎подобранными ‎игроком ‎свитками.‏ ‎Логично‏ ‎сделать ‎некую‏ ‎основу, ‎в‏ ‎которой ‎будут ‎меняться ‎детали. ‎Поэтому‏ ‎данные‏ ‎о‏ ‎свитке ‎и‏ ‎данные ‎о‏ ‎новом ‎противнике‏ ‎унаследованы‏ ‎от ‎общего‏ ‎класса ‎от ‎ScriptableObject. ‎Страница ‎описания‏ ‎противника, ‎и‏ ‎страница‏ ‎описания ‎свитка ‎тоже‏ ‎имеют ‎сходство,‏ ‎но ‎в ‎описании ‎противника‏ ‎мы‏ ‎еще ‎показываем‏ ‎список ‎характерных‏ ‎черт, ‎а ‎в ‎свитках ‎есть‏ ‎только‏ ‎описание.

Только ‎спустя‏ ‎пару ‎лет‏ ‎практики ‎программирования ‎начинаешь ‎понимать ‎принципы‏ ‎SOLID‏ ‎и‏ ‎ООП ‎по-настоящему.‏ ‎Не ‎просто‏ ‎так ‎в‏ ‎каждом‏ ‎ролике, ‎в‏ ‎каждой ‎статье ‎или ‎интервью ‎с‏ ‎разработчиками ‎повторяется‏ ‎как‏ ‎мантра: ‎каждая ‎механика‏ ‎– ‎это‏ ‎отдельный ‎островок, ‎который ‎работает‏ ‎независимо‏ ‎от ‎других;‏ ‎удаляя ‎один‏ ‎компонент, ‎другой ‎не ‎должен ‎сломаться…‏ ‎Старайтесь‏ ‎придерживаться ‎принципов‏ ‎программирования, ‎это‏ ‎в ‎любом ‎случае ‎дешевле ‎обойдется,‏ ‎чем‏ ‎потом‏ ‎переделывать ‎все,‏ ‎поправляя ‎одно,‏ ‎ломая ‎тем‏ ‎самым‏ ‎другое. ‎

Совет.‏ ‎Не ‎переставайте ‎менять ‎именование ‎полей,‏ ‎методов ‎и‏ ‎классов‏ ‎до ‎тех ‎пор,‏ ‎пока ‎не‏ ‎станет ‎максимально ‎удовлетворять ‎вас.‏ ‎Именование‏ ‎должно ‎лаконично‏ ‎передавать ‎суть‏ ‎и ‎все. ‎Классы ‎именуются ‎как‏ ‎имя‏ ‎существительное, ‎методы‏ ‎как ‎глагол.‏ ‎События ‎привычно ‎писать ‎со ‎слова‏ ‎On‏ ‎(OnHit,‏ ‎OnLoaded, ‎OnError),‏ ‎но ‎методы,‏ ‎которые ‎на‏ ‎них‏ ‎подписываются, ‎должны‏ ‎передавать ‎свою ‎суть ‎(GetDamage, ‎Unfade,‏ ‎SetDefaultValues). ‎Помните,‏ ‎большую‏ ‎часть ‎времени ‎вы‏ ‎прежде ‎всего‏ ‎читаете ‎код, ‎нежели ‎непосредственно‏ ‎пишите‏ ‎его. ‎Решиться‏ ‎на ‎изменения‏ ‎в ‎коде ‎гораздо ‎легче, ‎если‏ ‎хорошо‏ ‎владеть ‎IDE‏ ‎(например, ‎переименование‏ ‎и ‎извлечение ‎метода).

Совет. ‎Используйте ‎ключевое‏ ‎слово‏ ‎field‏ ‎в ‎атрибутах,‏ ‎оно ‎позволяет‏ ‎воспринимать ‎свойства‏ ‎как‏ ‎поля, ‎отображая‏ ‎их ‎в ‎инспекторе, ‎но ‎все‏ ‎еще ‎инкапсулировать‏ ‎данные.‏ ‎Не ‎пренебрегайте ‎ограничением‏ ‎доступа ‎к‏ ‎данным. ‎Этот ‎трюк ‎сокращает‏ ‎количество‏ ‎строчек ‎в‏ ‎2 ‎раза,‏ ‎Карл! ‎Этот ‎десяток ‎строк ‎мог‏ ‎выглядеть‏ ‎как ‎20‏ ‎строк.

Спаун ‎противников

Тут‏ ‎вроде ‎все ‎просто. ‎Враги ‎появляются‏ ‎по‏ ‎волнам.‏ ‎Волны, ‎количество‏ ‎противников ‎и‏ ‎период ‎их‏ ‎создания‏ ‎во ‎время‏ ‎волны ‎определяется ‎в ‎SpawnerData. ‎Они‏ ‎могут ‎появляться‏ ‎на‏ ‎протяжении ‎всей ‎волны,‏ ‎могут ‎в‏ ‎начале ‎волны ‎или ‎только‏ ‎в‏ ‎конце; ‎по‏ ‎одному ‎в‏ ‎секунду ‎или ‎сразу ‎скопом.

С ‎самого‏ ‎начала‏ ‎я ‎не‏ ‎до ‎конца‏ ‎продумал ‎как ‎именно ‎будут ‎появляться‏ ‎противники‏ ‎на‏ ‎арене, ‎а‏ ‎я ‎очень‏ ‎хотел ‎внести‏ ‎какую-то‏ ‎оригинальность ‎в‏ ‎моей ‎игре. ‎Поэтому ‎мне ‎пришлось‏ ‎переопределить ‎архитектуру‏ ‎этой‏ ‎части ‎кода. ‎Теперь‏ ‎точка ‎появления‏ ‎и ‎логика ‎этого ‎события‏ ‎делегируются‏ ‎в ‎отдельный‏ ‎класс ‎SpawnDealer.‏ ‎Он ‎стал ‎отвечать ‎за ‎то,‏ ‎как‏ ‎именно ‎и‏ ‎где ‎появится‏ ‎противник. ‎Например, ‎арахниды ‎появляются ‎с‏ ‎помощью‏ ‎червя‏ ‎Нидуса, ‎если‏ ‎такого ‎нет‏ ‎на ‎сцене,‏ ‎сначала‏ ‎появится ‎червь,‏ ‎проиграется ‎анимация, ‎а ‎уж ‎потом‏ ‎появится ‎противник‏ ‎из‏ ‎него. ‎Духи ‎появляются‏ ‎только ‎в‏ ‎темных ‎участках ‎арены, ‎а‏ ‎демоны‏ ‎в ‎точках,‏ ‎где ‎есть‏ ‎огонь ‎(факел, ‎костер, ‎пожар). ‎Некоторые‏ ‎противники‏ ‎появляются ‎с‏ ‎помощью ‎молний,‏ ‎только ‎на ‎участках ‎арены ‎под‏ ‎открытым‏ ‎небом.

Красными‏ ‎точками ‎отмечены‏ ‎темные ‎места‏ ‎для ‎появления‏ ‎Духов,‏ ‎а ‎белыми‏ ‎точки ‎под ‎открытым ‎небом ‎для‏ ‎создания ‎молнии‏ ‎и‏ ‎спауна ‎противников ‎из‏ ‎них.

Урон ‎и‏ ‎здоровье

Эту ‎часть ‎игры ‎тоже‏ ‎пришлось‏ ‎переписывать ‎после‏ ‎первых ‎попыток.‏ ‎Итогом ‎стали ‎абстрактный ‎класс ‎Health‏ ‎и‏ ‎его ‎наследники‏ ‎HealthPart ‎и‏ ‎HealthParent. ‎Предполагалось, ‎что ‎попадание ‎в‏ ‎разные‏ ‎части‏ ‎тела ‎(HealthPart)‏ ‎дает ‎множитель‏ ‎на ‎получаемый‏ ‎урон,‏ ‎передавая ‎значения‏ ‎на ‎HealthParent, ‎который ‎у ‎противника‏ ‎есть ‎в‏ ‎единственном‏ ‎экземпляре. ‎Это ‎решение‏ ‎из ‎общей‏ ‎папки ‎с ‎кодовой ‎базой,‏ ‎на‏ ‎самом ‎деле‏ ‎в ‎проекте‏ ‎используется ‎только ‎HealthParent.

Так ‎как ‎в‏ ‎игре‏ ‎есть ‎стихийный‏ ‎урон ‎и‏ ‎различные ‎мета-данные ‎нанесения ‎урона ‎(с‏ ‎какой‏ ‎стороны‏ ‎прилетел ‎удар,‏ ‎точка ‎удара,‏ ‎физическая ‎сила‏ ‎удара,‏ ‎префабы ‎попадания),‏ ‎я ‎сделал ‎структуру ‎HitData, ‎а‏ ‎также ‎DamageDealer‏ ‎для‏ ‎удобства ‎заполнения ‎этих‏ ‎данных.

Совет. ‎Старайтесь‏ ‎подписываться ‎на ‎события ‎(если‏ ‎это‏ ‎не ‎дочерние‏ ‎компоненты), ‎нежели‏ ‎напрямую ‎завязывать ‎внешние ‎объекты ‎между‏ ‎собой.‏ ‎Это ‎уменьшит‏ ‎связность ‎проекта,‏ ‎позволит ‎убирать ‎или ‎добавлять ‎что-либо‏ ‎на‏ ‎сцену,‏ ‎не ‎ломаю‏ ‎остальное.

Завершение

Понимаешь ‎диаграммы‏ ‎классов? ‎Что-то‏ ‎стоит‏ ‎поправить? ‎Что‏ ‎думаешь? ‎Есть ‎польза ‎от ‎написанного?‏ ‎Критикуй, ‎пиши,‏ ‎прочтем.‏ ‎Я ‎очень ‎надеюсь,‏ ‎что ‎делаю‏ ‎какое-то ‎полезное ‎дело, ‎в‏ ‎надежде‏ ‎повысить ‎свою‏ ‎и ‎вашу‏ ‎грамотность ‎в ‎написании ‎кода.

Разработчик | Проект | YouTube | e-mail | Поддержка

Читать: 6+ мин
S
logo
Soulskiller

Структура проекта

Привет, ‎коллеги.‏ ‎Пора ‎переходить ‎от ‎описания ‎девлога‏ ‎к ‎описанию‏ ‎проекта.‏ ‎В ‎этой ‎статье‏ ‎я ‎расскажу‏ ‎про ‎структуру ‎проекта:

  • Порядок ‎файлов‏ ‎и‏ ‎папок, ‎почему‏ ‎именно ‎так,‏ ‎какие ‎еще ‎варианты ‎бывают
  • Общая ‎архитектура‏ ‎кода
  • Советы‏ ‎по ‎организации‏ ‎кода ‎в‏ ‎проектах
  • Порядок ‎инициализации

Файловый ‎порядок

В ‎целом ‎мы‏ ‎на‏ ‎работе‏ ‎использовали ‎два‏ ‎подхода ‎по‏ ‎организации ‎файлов‏ ‎в‏ ‎проекте: ‎сортировать‏ ‎в ‎папки ‎по ‎типу ‎файлов‏ ‎или ‎по‏ ‎смысловой‏ ‎общности ‎(аля ‎ассет‏ ‎или ‎игровая‏ ‎механика). ‎Все ‎скрипты ‎лежат‏ ‎в‏ ‎одной ‎папе,‏ ‎а ‎все‏ ‎текстуры ‎в ‎другой? ‎Это ‎сортировка‏ ‎по‏ ‎типу ‎файлов.‏ ‎Если ‎же‏ ‎все ‎текстуры, ‎материалы, ‎анимации ‎и‏ ‎скрипты‏ ‎относятся‏ ‎к ‎одной‏ ‎игровой ‎механике‏ ‎и ‎лежат‏ ‎в‏ ‎папке ‎с‏ ‎игровой ‎механикой, ‎то ‎это ‎второй‏ ‎тип ‎порядка‏ ‎в‏ ‎проекте.

Долгое ‎время ‎мы‏ ‎придерживались ‎первого‏ ‎варианта, ‎но ‎на ‎практике‏ ‎рано‏ ‎или ‎поздно‏ ‎приходишь ‎к‏ ‎следующим ‎выводам:

  • В ‎процессе ‎разработки ‎ты‏ ‎работаешь‏ ‎не ‎с‏ ‎файлами ‎как‏ ‎таковыми, ‎а ‎с ‎игровой ‎механикой‏ ‎(с‏ ‎файлами,‏ ‎которые ‎к‏ ‎ней ‎относятся).‏ ‎Жутко ‎неудобно‏ ‎искать‏ ‎скрипт ‎в‏ ‎одной ‎папке, ‎править ‎шейдер ‎в‏ ‎другой ‎папке,‏ ‎далеко‏ ‎от ‎первой. ‎Ты‏ ‎вроде ‎работаешь‏ ‎над ‎одним ‎кирпичиком ‎проекта‏ ‎(над‏ ‎одной ‎игровой‏ ‎механикой), ‎а‏ ‎файлы ‎раскиданы ‎по ‎всему ‎проекту.‏ ‎Это‏ ‎жутко ‎неудобно.
  • Если‏ ‎ты ‎скачиваешь‏ ‎готовые ‎ассеты ‎с ‎Ассет ‎Стора,‏ ‎то‏ ‎они‏ ‎скачиваются ‎именно‏ ‎в ‎выше‏ ‎изложенном ‎виде‏ ‎–‏ ‎отдельная ‎папка‏ ‎игровой ‎механики, ‎внутри ‎которой ‎все,‏ ‎что ‎к‏ ‎ней‏ ‎относится: ‎скрипты, ‎текстуры,‏ ‎анимации, ‎звуки.
  • Так‏ ‎и ‎так ‎ты ‎используешь‏ ‎оба‏ ‎подхода, ‎но‏ ‎в ‎разных‏ ‎масштабах. ‎Глобально ‎папки ‎сформированы ‎по‏ ‎игровым‏ ‎механикам, ‎но‏ ‎внутри ‎этих‏ ‎папок ‎есть ‎папки ‎Scripts, ‎Sources,‏ ‎Prefabs.

Совет.‏ ‎С‏ ‎самого ‎начала‏ ‎и ‎до‏ ‎конца ‎работы‏ ‎на‏ ‎игрой ‎придерживайтесь‏ ‎какого-то ‎порядка ‎и ‎не ‎переставайте‏ ‎его ‎соблюдать.‏ ‎Несортированные‏ ‎файлы ‎и ‎непродуманная‏ ‎архитектура ‎накапливается‏ ‎и ‎с ‎каждым ‎разом‏ ‎и‏ ‎все ‎больше‏ ‎усложняет ‎процесс‏ ‎разработки. ‎Тебе ‎попросту ‎больше ‎не‏ ‎хочется‏ ‎в ‎этом‏ ‎всем ‎разбираться.‏ ‎Книга ‎Роберта ‎Мартина ‎«Чистый ‎код»,‏ ‎как‏ ‎мне‏ ‎показалось, ‎прежде‏ ‎всего ‎учит‏ ‎придерживаться ‎порядка.‏ ‎А‏ ‎какой ‎именно‏ ‎порядок, ‎это ‎уже ‎вам ‎решать.‏ ‎Придерживайтесь.

Структура ‎кода

Все‏ ‎Unity-проекты‏ ‎– ‎это ‎монолитное‏ ‎приложение. Внутри ‎же‏ ‎мы ‎можем ‎использовать ‎различные‏ ‎подходы,‏ ‎например, ‎MVC и‏ ‎его ‎разновидности‏ ‎или ‎ECS (в ‎Unity ‎встроен ‎DOTS).

Совет.‏ ‎Не‏ ‎забывайте ‎пользоваться‏ ‎пространствами ‎имен, очень‏ ‎помогает ‎организовать ‎работу ‎кода. ‎Еще‏ ‎вариант,‏ ‎к‏ ‎которому ‎я‏ ‎не ‎склонился‏ ‎– ‎это‏ ‎AssemblyDefinition. Как‏ ‎по ‎мне,‏ ‎подобный ‎способ ‎неудобен ‎из-за ‎чувствительной‏ ‎настройки. ‎А‏ ‎еще‏ ‎ты ‎можешь ‎долгое‏ ‎время ‎не‏ ‎понимать ‎почему ‎не ‎компилируется‏ ‎код,‏ ‎и ‎кто‏ ‎на ‎кого‏ ‎должен ‎ссылаться. ‎Звучит ‎как ‎отговорка,‏ ‎но‏ ‎я ‎не‏ ‎пришел ‎к‏ ‎этому ‎способу, ‎просто ‎использую ‎пространства‏ ‎имен.

В‏ ‎проекте‏ ‎есть ‎общее‏ ‎пространство ‎имен‏ ‎IndieBroGames, ‎внутри‏ ‎которого‏ ‎есть ‎остальные.‏ ‎Например, ‎IndieBroGames.Common ‎содержит ‎в ‎себе‏ ‎мою ‎накопленную‏ ‎базу‏ ‎скриптов, ‎база ‎формировалась‏ ‎в ‎процессе‏ ‎работы ‎над ‎другими ‎проектами,‏ ‎включает‏ ‎мои ‎наработки,‏ ‎измененные ‎версии‏ ‎других ‎скриптов ‎и ‎чужого ‎опыта.‏ ‎Это‏ ‎пространство ‎имен‏ ‎не ‎имеет‏ ‎зависимостей ‎от ‎конкретного ‎проекта ‎и‏ ‎используется‏ ‎в‏ ‎каждом ‎проекте‏ ‎в ‎одностороннем‏ ‎порядке.

А ‎есть‏ ‎пространство‏ ‎имен ‎IndieBroGames.Soulskiller,‏ ‎к ‎которому ‎относятся ‎скрипты ‎этой‏ ‎игры. ‎Это‏ ‎пространство‏ ‎имен ‎может ‎использовать‏ ‎скрипты ‎из‏ ‎IndieBroGames. ‎Common. ‎Здесь ‎формируется‏ ‎конкретная‏ ‎реализация ‎игровых‏ ‎механик, ‎относящихся‏ ‎только ‎к ‎этой ‎игре.

Под ‎IndieBroGames.Soulskiller‏ ‎лежат‏ ‎остальные ‎пространства‏ ‎имен, ‎которые‏ ‎отсортированы… ‎по ‎игровым ‎механикам, ‎как‏ ‎папки,‏ ‎в‏ ‎которых ‎и‏ ‎лежат ‎эти‏ ‎скрипты. ‎Например,‏ ‎поведение‏ ‎противников ‎основано‏ ‎на ‎машине ‎состояний ‎(об ‎этом‏ ‎поговорим ‎чуть‏ ‎позже),‏ ‎где ‎машина ‎состояний‏ ‎находится ‎в‏ ‎пространстве ‎имен ‎IndieBroGames.Common.StateMachineSystem, ‎а‏ ‎состояния‏ ‎противников ‎унаследованы‏ ‎от ‎абстрактного‏ ‎класса ‎State.

Порядок ‎инициализации

Начало ‎начал ‎в‏ ‎игре‏ ‎– ‎это‏ ‎первая ‎сцена‏ ‎для ‎инициализации ‎ядра ‎из ‎пространства‏ ‎имен‏ ‎IndieBroGames.‏ ‎Common. ‎По‏ ‎сути ‎Core‏ ‎– ‎это‏ ‎точка,‏ ‎в ‎которой‏ ‎инициализируются ‎все ‎основные ‎системы, ‎а‏ ‎также ‎это‏ ‎фасад для‏ ‎доступа ‎ко ‎всем‏ ‎этим ‎системам.

Ядро‏ ‎включает ‎систему ‎сохранения, ‎локализацию,‏ ‎асинхронный‏ ‎загрузчик ‎сцен,‏ ‎механику ‎паузы‏ ‎и ‎некоторые ‎другие ‎вещи.

Вторая ‎сцена‏ ‎–‏ ‎инициализация ‎ядра‏ ‎проекта ‎и‏ ‎выбор ‎предварительных ‎настроек ‎– ‎языка‏ ‎локализации,‏ ‎громкости‏ ‎и ‎вибрации.

Ядро‏ ‎проекта, ‎по‏ ‎аналогии, ‎содержит‏ ‎в‏ ‎себе ‎вещи,‏ ‎к ‎которым ‎нужен ‎доступ ‎в‏ ‎процессе ‎игры.‏ ‎Только‏ ‎те ‎вещи, ‎которые‏ ‎относятся ‎к‏ ‎этому ‎проекту.

После ‎всех ‎инициализаций‏ ‎запускается‏ ‎сцена ‎с‏ ‎убежищем ‎главного‏ ‎героя, ‎охотника ‎на ‎нечисть.

Завершение

Что ‎не‏ ‎так‏ ‎сказал? ‎Какие‏ ‎бывают ‎еще‏ ‎способы ‎упорядочить ‎проект? ‎Мысли, ‎критика?‏ ‎Пиши,‏ ‎прочтем.

Разработчик | Проект | YouTube | e-mail | Поддержка

Читать: 5+ мин
S
logo
Soulskiller

Особенности игры и игры-вдохновители

Привет, ‎коллеги.‏ ‎Расскажу ‎про ‎игровой ‎цикл ‎и‏ ‎на ‎какие‏ ‎игры‏ ‎ориентировался ‎в ‎процессе.

Об‏ ‎игре ‎и‏ ‎вдохновителях

Игра ‎будет ‎по ‎сути‏ ‎ареной,‏ ‎в ‎которой‏ ‎противники ‎нападают‏ ‎волнами. ‎По ‎завершении ‎одной ‎волны,‏ ‎игрок‏ ‎активирует ‎следующую‏ ‎на ‎определенной‏ ‎точке ‎на ‎арене. ‎Примерами ‎игр‏ ‎по‏ ‎волнам‏ ‎могут ‎быть‏ ‎Killing ‎Floor‏ ‎(pc), ‎Only‏ ‎One‏ ‎(android), ‎They‏ ‎are ‎Billions ‎(pc). ‎С ‎каждым‏ ‎разом ‎противников‏ ‎будет‏ ‎больше ‎и ‎разнообразней.‏ ‎Придется ‎учитывать‏ ‎их ‎особенности ‎и ‎расставлять‏ ‎приоритеты.

В‏ ‎свое ‎время‏ ‎мне ‎очень‏ ‎нравилась ‎игра ‎Painkiller ‎(pc). ‎Да,‏ ‎она‏ ‎была ‎не‏ ‎самой ‎оригинальной‏ ‎в ‎плане ‎игровых ‎механик ‎(хотя‏ ‎там‏ ‎были‏ ‎карты ‎таро‏ ‎и ‎специфичная‏ ‎пушка ‎у‏ ‎героя,‏ ‎а ‎у‏ ‎каждого ‎оружия ‎альтернативный ‎огонь), ‎но‏ ‎какая ‎там‏ ‎была‏ ‎атмосфера! ‎Мрачные ‎текстуры‏ ‎подземелий ‎и‏ ‎заброшенных ‎зданий ‎в ‎совокупности‏ ‎с‏ ‎отлично ‎подобранными‏ ‎звуками, ‎отлетающие‏ ‎в ‎виде ‎тряпичных ‎кукол ‎противники‏ ‎и‏ ‎награда ‎–‏ ‎душа ‎поверженного‏ ‎противника!

Противники

Противники ‎в ‎игре ‎– ‎главная‏ ‎особенность‏ ‎проекта.‏ ‎Каждый ‎противник‏ ‎имеет ‎свою‏ ‎собственную ‎модель‏ ‎поведения.‏ ‎Я ‎хотел‏ ‎прежде ‎всего ‎сделать ‎каждого ‎противника‏ ‎индивидуальным, ‎они‏ ‎не‏ ‎должны ‎отличаться ‎друг‏ ‎от ‎друга‏ ‎только ‎очками ‎здоровья ‎и‏ ‎скорости.‏ ‎Об ‎особенностях‏ ‎поведения ‎я‏ ‎расскажу ‎в ‎отдельной ‎статье, ‎как‏ ‎реализовано‏ ‎и ‎какие‏ ‎особенности ‎бывают.

Механики

Начнем‏ ‎с ‎перемещения ‎героя. ‎Оно ‎здесь‏ ‎простое,‏ ‎охотник‏ ‎может ‎передвигаться‏ ‎с ‎помощью‏ ‎джойстика, ‎огибая‏ ‎тучи‏ ‎противников ‎и‏ ‎занимая ‎более ‎выгодную ‎позицию. ‎На‏ ‎арене ‎много‏ ‎дорог‏ ‎и ‎тропинок, ‎узких‏ ‎мест, ‎где‏ ‎можно ‎ускользнуть ‎от ‎погони.

Боевые‏ ‎особенности.‏ ‎Герой ‎применяет‏ ‎автоматические ‎способности,‏ ‎как ‎только ‎противник ‎приблизится ‎достаточно‏ ‎близко.‏ ‎Подошел ‎близко?‏ ‎Получи ‎удар‏ ‎мечом. ‎Еще ‎далеко, ‎но ‎на‏ ‎расстоянии‏ ‎выстрела?‏ ‎Луки ‎к‏ ‎бою! ‎Много‏ ‎вражин? ‎Граната‏ ‎решит‏ ‎проблему. ‎Помимо‏ ‎автоматических ‎способностей ‎есть ‎магия, ‎которую‏ ‎игрок ‎выбирает‏ ‎куда‏ ‎применить, ‎перетаскивая ‎иконку‏ ‎способности ‎в‏ ‎точку ‎на ‎арене. ‎Магия‏ ‎перезаряжается.‏ ‎Но ‎так‏ ‎же ‎есть‏ ‎свитки, ‎которые ‎выпадают ‎из ‎противников.‏ ‎Свитки‏ ‎по ‎своей‏ ‎сути ‎–‏ ‎одноразовая ‎магия ‎без ‎выбора ‎точки‏ ‎применения.‏ ‎Например,‏ ‎самолечение ‎или‏ ‎удар ‎молнии‏ ‎в ‎одного‏ ‎из‏ ‎случайных ‎противников.

С‏ ‎каждым ‎днем ‎я ‎понемногу ‎начал‏ ‎сомневаться ‎в‏ ‎том,‏ ‎что ‎делаю ‎что-то‏ ‎необычное, ‎новое,‏ ‎а ‎не ‎очередную ‎игру,‏ ‎в‏ ‎которой ‎нет‏ ‎ничего, ‎чего‏ ‎вы ‎не ‎видели ‎в ‎других‏ ‎играх.‏ ‎Очень ‎надеюсь,‏ ‎что ‎это‏ ‎не ‎так. ‎В ‎моих ‎силах‏ ‎придумать‏ ‎незаезженную‏ ‎магическую ‎способность‏ ‎и ‎поведение‏ ‎врагов.

Убежище

Это ‎наше‏ ‎Лобби.‏ ‎Место, ‎в‏ ‎котором ‎охотник ‎подготавливается ‎к ‎следующему‏ ‎забегу. ‎Здесь‏ ‎можно‏ ‎изучить ‎свитки, ‎прочитать‏ ‎в ‎Альманахе‏ ‎особенности ‎поведения ‎противников, ‎выбрать‏ ‎снаряжение‏ ‎и ‎повысить‏ ‎навыки ‎главного‏ ‎героя. ‎Знакомясь ‎в ‎процессе ‎боя‏ ‎с‏ ‎новыми ‎противниками,‏ ‎вы ‎пополняете‏ ‎страницы ‎Альманаха, ‎в ‎котором ‎описывается‏ ‎поведение‏ ‎и‏ ‎особенности ‎вновь‏ ‎изученного ‎противника.

Итогом

Пусть‏ ‎это ‎будет‏ ‎фишкой‏ ‎девлога, ‎я‏ ‎буду ‎определять ‎пользу ‎и ‎итоги‏ ‎как ‎для‏ ‎себя,‏ ‎так ‎и ‎для‏ ‎читателей ‎отдельно.

Написав‏ ‎все ‎это, ‎я ‎скомпоновал‏ ‎в‏ ‎своей ‎голове‏ ‎краткое ‎описание‏ ‎игры, ‎еще ‎раз ‎прошелся ‎по‏ ‎механикам‏ ‎и… ‎кажется‏ ‎все ‎не‏ ‎так ‎плохо, ‎игра ‎потенциально ‎может‏ ‎удивить‏ ‎заядлого‏ ‎игрока, ‎порадовать‏ ‎новыми ‎игровыми‏ ‎механиками ‎или‏ ‎дать‏ ‎новое ‎представление‏ ‎уже ‎знакомым ‎механикам.

Для ‎вас ‎же‏ ‎итогом ‎будет‏ ‎пару‏ ‎советов. ‎Старайтесь ‎делать‏ ‎свои ‎игры‏ ‎самобытными, ‎индивидуальными, ‎иначе ‎какой‏ ‎смысл‏ ‎в ‎таком‏ ‎творчестве. ‎Многие‏ ‎большие ‎игры, ‎которые ‎сейчас ‎выпускают,‏ ‎очень‏ ‎шаблонные ‎и‏ ‎привычные ‎игрокам.‏ ‎Цвет ‎зеленый-синий-золотой ‎для ‎противников ‎и‏ ‎оружия,‏ ‎аванпосты‏ ‎и ‎собирательство‏ ‎ресурсов, ‎награда‏ ‎за ‎проделанную‏ ‎работу.‏ ‎Пусть ‎лучше‏ ‎сам ‎процесс ‎приносит ‎удовольствие, ‎чем‏ ‎награда ‎после‏ ‎рутины.

В‏ ‎играх ‎часто ‎сменяют‏ ‎темп. ‎Например,‏ ‎горячие ‎бои ‎сменяются ‎спокойным‏ ‎повествованием‏ ‎и ‎диалогами,‏ ‎напряжение ‎в‏ ‎хорроре ‎сменяется ‎время ‎от ‎времени‏ ‎безопасными‏ ‎местами. ‎Думаю,‏ ‎это ‎хорошая‏ ‎практика, ‎игра ‎не ‎так ‎быстро‏ ‎приедается‏ ‎игроку.‏ ‎Безопасность ‎между‏ ‎волнами ‎и‏ ‎жаркие ‎бои,‏ ‎разнообразие‏ ‎поведения ‎каждого‏ ‎противника ‎и ‎сочетание ‎противников ‎на‏ ‎арене ‎повысят‏ ‎многогранность‏ ‎игры.

Немного ‎пользы ‎от‏ ‎статьи. ‎Как‏ ‎запомнить ‎названия ‎планет? ‎Джоел‏ ‎поможет.‏ ‎"Мама ‎всегда‏ ‎запрещала ‎мне,‏ ‎юному ‎следопыту, ‎учить ‎названия ‎планет"‏ ‎(Меркурий,‏ ‎Венера, ‎Земля...)

Вопросы,‏ ‎мнение, ‎критика?‏ ‎Пиши, ‎что ‎думаешь.

Какие ‎магические ‎способности‏ ‎реже‏ ‎всего‏ ‎встречаются? ‎Я‏ ‎бы ‎сказал,‏ ‎что ‎большинство‏ ‎игр‏ ‎стараются ‎воздействовать‏ ‎магией ‎напрямую ‎на ‎противника. ‎Я‏ ‎бы ‎хотел‏ ‎как-нибудь‏ ‎сделать ‎игру ‎про‏ ‎ведьму, ‎которая‏ ‎побеждает ‎непрошенных ‎гостей ‎Темного‏ ‎леса‏ ‎косвенным ‎путем,‏ ‎влияя ‎на‏ ‎природу ‎или ‎на ‎снаряжение ‎противников,‏ ‎на‏ ‎их ‎восприятие‏ ‎мира.

Разработчик | Проект | YouTube | Поддержка

Читать: 2+ мин
logo SmartЖурналист

Замена Android продолжается! Теперь на очереди Huawei P20, Honor 10 и 9X

Компания ‎Huawei‏ ‎продолжает ‎распространение ‎фирменной ‎финальной ‎версии‏ ‎HarmonyOS ‎2.0,‏ ‎правда‏ ‎по ‎большей ‎части‏ ‎на ‎территории‏ ‎Китая. ‎Новая ‎ОС ‎полностью‏ ‎заменяет‏ ‎и ‎интерфейса‏ ‎EMUI, ‎и‏ ‎ОС ‎Android. ‎Следовательно, ‎пользователей ‎ждет‏ ‎полностью‏ ‎новая ‎операционная‏ ‎система.

И ‎что‏ ‎много ‎устройств ‎обновились?

Как ‎минимум ‎Huawei‏ ‎выпустила‏ ‎финальную‏ ‎версию ‎HarmonyOS‏ ‎2.0 ‎для‏ ‎семи ‎моделей‏ ‎своих‏ ‎смартфонов: ‎nova‏ ‎5i, ‎nova ‎4e, ‎Honor ‎30S,‏ ‎Honor ‎30‏ ‎Lite,‏ ‎Honor ‎X10, ‎Honor‏ ‎X10 ‎Max‏ ‎и ‎Honor ‎Play4. ‎

А‏ ‎что‏ ‎тогда ‎касается‏ ‎остальных?

Паралельно ‎проходит‏ ‎открытое ‎бета-тестирование ‎HarmonyOS ‎2.0 ‎для‏ ‎еще‏ ‎15 ‎моделей:‏ ‎Huawei ‎P20,‏ ‎P20 ‎Pro, ‎Mate ‎10, ‎Mate‏ ‎10‏ ‎Pro,‏ ‎Mate ‎10‏ ‎Porsche ‎Design,‏ ‎Mate ‎RS‏ ‎Porsche‏ ‎Design, ‎nova4,‏ ‎Enjoy ‎10S, ‎Enjoy ‎10 ‎Plus,‏ ‎Honor ‎9X,‏ ‎Honor‏ ‎9X ‎Pro, ‎Honor‏ ‎20S, ‎Honor‏ ‎10, ‎Honor ‎V10 ‎и‏ ‎Honor‏ ‎Play4T ‎Pro.‏ ‎Следовательно, ‎вышеперечисленные‏ ‎смартфоны ‎следующие ‎в ‎очереди ‎на‏ ‎получение‏ ‎финальной ‎версии‏ ‎HarmonyOS ‎2.0.

Самое‏ ‎любопытное, ‎что ‎компания ‎набирает ‎добровольцев‏ ‎для‏ ‎закрытого‏ ‎бета-тестирования ‎HarmonyOS‏ ‎2.0 ‎для‏ ‎более ‎старых‏ ‎моделей.‏ ‎В ‎список‏ ‎вошли ‎не ‎только ‎смартфоны, ‎но‏ ‎и ‎планшеты‏ ‎-‏ ‎Huawei ‎P10, ‎P10‏ ‎Plus, ‎Mate‏ ‎9, ‎Mate ‎9 ‎Pro,‏ ‎Mate‏ ‎9 ‎Porsche‏ ‎Design, ‎nova‏ ‎3, ‎Enjoy ‎9 ‎Plus, ‎MediaPad‏ ‎M5‏ ‎10.8, ‎MediaPad‏ ‎M5 ‎Pro‏ ‎10.8, ‎MediaPad ‎M5 ‎8.4.

Зачем ‎обновлять‏ ‎настолько‏ ‎старые‏ ‎модели?! ‎

Есть‏ ‎несколько ‎причин.‏ ‎Во-первых, ‎компания‏ ‎полностью‏ ‎перейдет ‎на‏ ‎фирменную ‎ОС, ‎откажется ‎от ‎Android‏ ‎и ‎станет‏ ‎более‏ ‎независимой. ‎Второй ‎вариант‏ ‎менее ‎вероятен,‏ ‎возможно, ‎Huawei ‎хочет ‎составить‏ ‎более‏ ‎жесткую ‎конкуренцию‏ ‎Apple, ‎увеличивая‏ ‎период ‎обслуживания.

Напишите ‎в ‎комментариях, ‎что‏ ‎Вы‏ ‎думаете ‎о‏ ‎новой ‎ОС‏ ‎и ‎смартфонах ‎Huawei. ‎Кроме ‎того,‏ ‎буду‏ ‎благодарен‏ ‎за ‎подписку‏ ‎на ‎новый‏ ‎Instagram канала ‎SmartЖурналист, где‏ ‎публикуется‏ ‎информация ‎о‏ ‎статьях ‎и ‎обзорах. ‎Спасибо ‎за‏ ‎внимание!

Что думаете о таком телевизоре?

Обновления проекта

Метки

overkillsecurity 142 overkillsecuritypdf 52 news 47 keypoints 38 nsa 26 fbi 25 adapt tactics 11 Living Off the Land 11 LOTL 11 unpacking 10 vulnerability 9 cyber security 8 Digest 8 edge routers 8 Essential Eight Maturity Model 8 malware 8 Maturity Model 8 Monthly Digest 8 research 8 ubiquiti 8 IoT 7 lolbin 7 lolbins 7 Cyber Attacks 6 phishing 6 Forensics 5 Ransomware 5 soho 5 authToken 4 BYOD 4 MDM 4 OAuth 4 Energy Consumption 3 IoMT 3 medical 3 ai 2 AnonSudan 2 authentication 2 av 2 battery 2 Buffer Overflow 2 console architecture 2 cve 2 cybersecurity 2 energy 2 Google 2 incident response 2 MITM 2 mqtt 2 Passkeys 2 Retro 2 Velociraptor 2 video 2 Vintage 2 vmware 2 windows 2 1981 1 5g network research 1 8-bit 1 Ad Removal 1 Ad-Free Experience 1 ADCS 1 advisory 1 airwatch 1 AlphV 1 AMSI 1 android 1 Android15 1 announcement 1 antiPhishing 1 AntiPhishStack 1 antivirus 1 Apple 1 Atlassian 1 Attack 1 AttackGen 1 BatBadBut 1 Behavioral Analytics 1 BianLian 1 bias 1 Biocybersecurity 1 Biometric 1 bite 1 bitlocker 1 bitlocker bypass 1 Black Lotus Labs 1 blackberry 1 blizzard 1 botnet 1 Browser Data Theft 1 BucketLoot 1 CellularSecurity 1 checkpoint 1 china 1 chisel 1 cisa 1 CloudSecurity 1 CloudStorage 1 content 1 content category 1 cpu 1 Credential Dumping 1 CVE-2023-22518 1 CVE-2023-35080 1 CVE-2023-38043 1 CVE-2023-38543 1 CVE-2024-0204 1 CVE-2024-21111 1 CVE-2024-21345 1 cve-2024-21447 1 CVE-2024-24919 1 CVE-2024-26218 1 cve-2024-27129 1 cve-2024-27130 1 cve-2024-27131 1 cve-2024-3400 1 cvss 1 cyber operations 1 Cyber Toufan Al-Aqsa 1 cyberops 1 D-Link 1 dark pink apt 1 data leakage 1 dcrat 1 Demoscene 1 DevSecOps 1 Dex 1 disassembler 1 DOS 1 e8mm 1 EDR 1 Embedded systems 1 Employee Training 1 EntraID 1 ESC8 1 Event ID 4663 1 Event ID 4688 1 Event ID 5145 1 Evilginx 1 EvilLsassTwin 1 Facebook 1 FBI IC3 1 FIDO2 1 filewave 1 Firebase 1 Firmware 1 Fortra's GoAnywhere MFT 1 france 1 FraudDetection 1 fuxnet 1 fuzzer 1 game console 1 gamification 1 GeminiNanoAI 1 genzai 1 go 1 GoogleIO2024 1 GooglePlayProtect 1 GoPhish 1 gpu 1 ICS 1 ICSpector 1 IDA 1 IncidentResponse 1 Industrial Control Systems 1 jazzer 1 jetbrains 1 jvm 1 KASLR 1 KillNet 1 LeftOverLocals 1 Leviathan 1 lg smart tv 1 lockbit 1 LSASS 1 m-trends 1 Machine Learning Integration 1 Mallox 1 MalPurifier 1 mandiant 1 MediHunt 1 Meta Pixel 1 ML 1 mobile network analysis 1 mobileiron 1 nes 1 nexus 1 NGO 1 Nim 1 Nimfilt 1 NtQueryInformationThread 1 OFGB 1 oracle 1 paid content 1 panos 1 Passwordless 1 Phishing Resilience 1 PingFederate 1 Platform Lock-in Tool 1 PlayIntegrityAPI 1 PlayStation 1 playstation 2 1 playstation 3 1 plc 1 podcast 1 Privilege Escalation 1 ps2 1 ps3 1 PulseVPN 1 qcsuper 1 qemu 1 qualcomm diag protocol 1 radio frame capture 1 Raytracing 1 Real-time Attack Detection 1 Red Team 1 Registry Modification 1 Risk Mitigation 1 RiskManagement 1 rodrigo copetti 1 rooted android devices 1 Router 1 rust 1 Sagemcom 1 sandworm 1 ScamCallDetection 1 security 1 Security Awareness 1 session hijacking 1 SharpADWS 1 SharpTerminator 1 shellcode 1 SIEM 1 Siemens 1 skimming 1 Smart Devices 1 snes 1 SSO 1 stack overflow 1 TA427 1 TA547 1 TDDP 1 telecom security 1 Telegram 1 telerik 1 TeleTracker 1 TEMP.Periscope 1 Terminator 1 Think Tanks 1 Threat 1 threat intelligence 1 threat intelligence analysis 1 Threat Simulation 1 tool 1 toolkit 1 tp-link 1 UK 1 UserManagerEoP 1 uta0218 1 virtualbox 1 VPN 1 vu 1 wargame 1 Web Authentication 1 WebAuthn 1 webos 1 What2Log 1 Windows 11 1 Windows Kernel 1 Windstream 1 women 1 WSUS 1 wt-2024-0004 1 wt-2024-0005 1 wt-2024-0006 1 xbox 1 xbox 360 1 xbox original 1 xss 1 Yubico 1 Z80A 1 ZX Spectrum 1 Больше тегов

Фильтры

Подарить подписку

Будет создан код, который позволит адресату получить бесплатный для него доступ на определённый уровень подписки.

Оплата за этого пользователя будет списываться с вашей карты вплоть до отмены подписки. Код может быть показан на экране или отправлен по почте вместе с инструкцией.

Будет создан код, который позволит адресату получить сумму на баланс.

Разово будет списана указанная сумма и зачислена на баланс пользователя, воспользовавшегося данным промокодом.

Добавить карту
0/2048