Comment on What are some common misconceptions about programming that you'd like to debunk?
Sickday@kbin.run 9 months agoYou don't need to be a hacker to find those problems. You need to be a good detective. All good programmers are detectives.
Comment on What are some common misconceptions about programming that you'd like to debunk?
Sickday@kbin.run 9 months agoYou don't need to be a hacker to find those problems. You need to be a good detective. All good programmers are detectives.
fkn@lemmy.world 9 months ago
I don’t think either is actually true. I know many programmers who can fix a problem once the bug is identified but wouldn’t be able to find it themselves nor would they be able to determine if a bug is exploitable without significant coaching.
Exploit finding is a specific skill set that requires thinking about multiple levels of abstraction simultaneously (or intentionally methodically). I have found that most programmers simply don’t do this.
I think the definition of “good” comes into play here, because the vast majority of programmers need to dependably discover solutions to problems that other people find. Ingenuity and multilevel abstract thinking are not critically important and many of these engineers who reliably fix problems without hand holding are good engineers in my book.
I suppose that it could be argued that finding the source of a bug from a bug report requires detective skills, but even this is mostly guided inspection with modern tooling.
pkill@programming.dev 9 months ago
Yeah take for instance ransomware. That is easy since a lot of your targets might distrust regular user input but be much less cautious about stuff that should presumably be only accessible internally but isn’t actually even properly locked behind a VPN gate so a simple credential stuffing would do and from then onwards it is actually easier than a physical kidnapping since you don’t need to worry about using physical force to ensure your victim submits, doesn’t escape or recognize you. But then you need to actually be smart to make sure you don’t de-anonymize yourself in the process, don’t render your operation just some temporary disturbance by ensuring your victim doesn’t just restore their backups if your goal is a denial of service until you get paid and not expecting ransom for not releasing breach data.
Or take carding. Not technically super difficult, especially with the whole illusion of security that many non-technical users have (ie the infamous padlock when I can literally set up a phishing site with letsencrypt that’d log all the form data in minutes), but then good lock cashing out on that with all the KYC on virtually every crypto exchange out there and all that granted 3DS doesn’t stop you.