Opinion: Coding apps to be secure
Hello All,
First and foremost, as unfortunate
as the case may be, most developers are not in the practice of developing applications
with security in mind. This is not to say that they are bad programmers/coders,
because some of these individuals are spectacularly talented however, they have
not been trained in security measures and best practices when it comes to
making their application as secure as possible (Sethi, 2014). Not to mention
the fact that to secure an application to the best of your ability, it will require
more time to code and more time to test and anyone being employed by an
organization to code apps usually has to deal with a timeframe and time to
market because most upper management is concerned with the bottom line now and not concerned with spending the
extra time, effort and resources to make the applications as secure as possible
even though a data breach resulting
from something as simple as bounds checking on input fields [read: buffer
overflow by Bright, 2015)] not being performed could wind up putting the organization out of business or damaging its
reputation forever. As a cybercommunity (globally as a whole), businesses and
individuals alike are slowly (ever so slowly) learning the importance of
information security, securing apps/programs, backends/frontends, coding with
security in mind because not only is the last generation feeling the effects of
vulnerabilities but the younger crowd is starting to become aware of how
dangerous it is to be online and what happens when they use apps that are not
trusted and even apps that are trusted but fall short of the security aspect
even though they don’t quite understand why they got hacked or how their
information was stolen and used in identity theft.
Unfortunately, currently
as well as in the past, there has always been a tradeoff between security and
usability but in my opinion as an upcoming security professional, soon we (the
general public as well as organizations) will eventually get tired of the “data
breach a day” (not to mention the financial fallout and losing your life
savings and identity plus getting your credit ratings destroyed) and really
start putting effort into making everything secure. We are at the stage now
where we are in transition from when the web was somewhat safer to danger
everywhere and it will take another generation to fully understand and adopt
new measures for securing applications, databases, information and everything
else. This is to include the people that use the web and the people that make
things to use on the web. Change is good, but it can’t come soon enough. But it
is our personal responsibility (as programmers) to make sure that we can code and create in a
manner that does not endanger anyone’s well-being. What some coders do not
realize is that we are in control of what happens to other people’s lives. We
might not personally experience any ill effects from making an insecure application,
but it will be on our conscience all the people that did suffer because we did
not take a few extra steps.
So,
in order to secure Node.js applications to the best of our ability there are many
items that need to be addressed and its unreal how common sense some of these
issues are (or should be to anyone that has enough computer sense to be coding
or scripting). The number one rule is to not use any routines/subs that call on
deprecated versions of Express or anything else that you are trying to incorporate
into your code (Express, n.d.). From my personal Infosec perspective, constantly
(within reason) check for updates and keep everything up to date. Old, out of
date software is ripe for the picking. At a minimum, make sure your application
is operating with Transport Layer Security (TLS) because SSL is old, on its way
out and crackable (Express, n.d.). In this day and age, it is an absolute must
to use the most secure protocols that we have to date.
*/ BTW there is a serious
note to keep in mind. Always remember that
Anything that you make
has the possibility to destroy someone’s
Life if you don’t take
measures to ensure that your users and their information
Is secure
/*
Another method to secure your Node.js apps is to
use some software that combats common vulnerabilities such as Helmet (Express,
n.d.). This software can parse your code and identify issues and prompt you to
fix the problems relating to the HTTP headers that leave room for issues (read:
hacks). These are just a few of the issues, and there are many more to take
into consideration when creating an application that individuals are going to
use and submit Personally Identifiable Information (PII) or anything else.
Privacy and Information Security should be the #1 priority even though it does
not always work out like that.
-WH
References
Bright, P. (2015). How
security flaws work: The buffer overflow. Retrieved from https://arstechnica.com/information-technology/2015/08/how-security-flaws-work-the-buffer-overflow/
Express. (n.d.). Production
best practices: Security. Retrieved from expressjs.com/en/advanced/best-practice-security.html
Sethi, R. (2014). Why
developers build insecure apps. Retrieved from https://www.huffingtonpost.com/rohit-sethi/why-developers-build-inse_b_5549482.html
Comments
Post a Comment
Please be kind and respectful, all comments are moderated.