Categories
DevSecOps

Why Developers Need Source Code Obfuscation

Reading Time: 4 minutes

All coders understand the one thing they must avoid at all costs: hackers. Whether you work with JavaScript, Python, HTML, PHP, C, or C+ — protection from hackers and reverse engineers remains a top priority. 

After all, the majority of digital attacks come from weaknesses in code. 

Source code is a valuable asset and forms the infrastructure of all digital products and applications. However, when code is left open, it’s like leaving an unlocked safe in a public park. It allows nefarious actors to enter, hack, steal, or alter assets without resistance. Therefore, developers must discover and implement ways to defend their source code. 

One of the best ways to do this is to use code obfuscation techniques. 

For whatever type of code, understanding how to obfuscate it is imperative to protect intellectual property. Obfuscation is the best way for coders to keep their work safe. Because of its importance, everyone responsible for securing digital assets must know what it is and how it can help. 

For those looking to protect their source code, visit PreEmptive’s product page to check out our various obfuscation software tools. We offer a wide range of resources and tools to protect all types of source code — from mobile needs, like Android source code obfuscation, to Python source code obfuscators. 

What Is Source Code Obfuscation

The idea behind obfuscating code is simple. In essence, obfuscation is the act of taking code and complicating it so that it becomes illegible. It’s like putting code in disguise. 

Obfuscation adds in redundant and extra lines of code, making it nearly impossible to read. Specific methods even alter the commands so that the logical flow of the program is thrown off — making it incredibly difficult to decipher and debug. 

Taking the code and changing the lexical structure or control flow renders the code almost impossible for humans to understand. However, with obfuscation, the code remains legible to computer systems, which is how applications still manage work after implementing the disguise.

Many make the mistake of conflating encryption with obfuscation. Obfuscation differs from encryption because it only hides code from humans, while encryption tools incorporate methods that shroud a code’s readability from computers, requiring an entire de-encryption process. As a result, encryption adds additional steps, often slowing down programs. However, obfuscation has relatively little effect on performance. 

So that answers the question, what is code obfuscation, but what is an obfuscator? 

A code obfuscator is a tool that performs the task automatically, and how it is applied depends on the type of source code. So, depending on whether the goal is to obfuscate HTML source code or obfuscate Python source code, the obfuscator performs the process differently.

A code obfuscation tool determines which way is most effective and applies it to the style of source code. To select the best obfuscation tool, it’s essential to know the different methods of source code obfuscation; this way, security managers can knowingly pick a tool that meets their needs. 

PreEmptive develops and supplies obfuscation tools for all types of source codes. For those looking for iOS source code obfuscation, a C++ source code obfuscator, or something else, visit our website to learn more about our line of offerings. 

Different Types of Code Obfuscation

There’s no single method to obfuscate code. In fact, there are many ways coders can implement obfuscation protections. Which method is best depends on the type of code being used. 

Coders may also incorporate multiple methods to boost overall protections, making it even hard for hackers to understand and reverse-engineer code. 

It’s also important to know that these various obfuscation techniques work better depending on the type of source code. For example, the best C source code obfuscator may be different than the best Java source code obfuscator. However, it’s important to remember that certain types of obfuscation may take more significant tolls on code performance.

Rename Obfuscation

Renaming is the bread and butter of the obfuscation process and works for almost all source codes. It takes variables and methods and changes them but doesn’t alter the program execution.

This renaming process makes the code extremely hard to understand, and messages become unreadable. The process adds and subtracts variables from code strings, removing traceable patterns from those looking to hack. 

Renaming is universal and is used to obfuscate C# source code, as well as Java, iOs, and more. 

Control Flow Obfuscation

Control flow is an even more powerful method of securing code. Here, it adds and alters the case switches and recreates the entire structure of the code by inserting commands like link jump instructions. 

Control flow techniques scramble entirely the logic of a code flow, which is why it’s so effective. However, this method is more complicated and may affect performance. 

Dummy (or Dead) Code Insertion

Another obfuscation method is to insert entire strings of code and lines that aren’t part of the program. Adding dummy code is a great way to increase the difficulty of reverse engineering and is a great way to protect source code of all kinds. 

How To Remove Obfuscation

By now, we’ve answered the question, how does code obfuscation work? But what if the obfuscation needs to be removed?

Removing obfuscation is easy, but it also depends on the type of code requiring de-obfuscation. For example, a C# source code obfuscator requires a different removal process than one for JavaScript. 

Many of these de-obfuscation measures are accomplished manually. However, it’s much easier to use tools that do it automatically. 

Defend Code With the Best Source Code Obfuscation Tools

There’s no way around it: code needs the best protection possible. There are many reasons to invest in the best DevSecOps, as hacking becomes a more significant threat to digital assets every year. Anyone with online property must protect it with the best obfuscation tools available. 

PreEmptive is a global leader in developing cutting-edge tools that protect online applications. Our range of products explores the various ways to use obfuscation to defend code while keeping performance at maximum efficiency. 


 

 

Categories
Risk Management

12 Days of Holiday Hacking

Reading Time: 7 minutes

In the spirit of the twelve days of Christmas, which will be starting soon on December 25, 2022, we present to you the twelve days of hacking — a holiday month-themed look at the common hacks and attacks that hackers utilize to gain unauthorized access for financial gain, reputation and street cred, corporate and state-sponsored espionage, or just plain fun. 

Hacking is an overarching umbrella term that describes finding or exploiting weaknesses in computer systems. It may be done for nefarious purposes by black or gray hat hackers or done in the form of white hat hacking by organizations themselves who are attempting to find and fix their flaws and vulnerabilities before malicious hackers do. Hardware, software, servers, or even the people controlling these systems may all be susceptible to cyberattacks. Let’s take a look at just a few of the many tools, tactics, and methods that hackers use to gain access to our data, files, finances, lives, and sanity — and what individual users, cybersecurity professionals, and developers need to do to stay safe.

1. Malware

Malware describes any malicious software, regardless of how it works, its intent, or the way it’s distributed. Malicious can mean that it disrupts the devices or network, leaks or steals information, or otherwise gains unauthorized access to sensitive information or systems, deprives access, or circumvents security or privacy. Common types of malware include viruses, worms, trojans, ransomware, bots or botnets, adware, spyware, rootkits, file-less malware, and malvertising. There are many forms of malware and new threats are constantly evolving so the best and most reliable protection is for all of your devices to have up-to-date, comprehensive, virus protection software.

2. Phishing

Phishing attacks are when hackers try to lure you into sharing sensitive information such as account login credentials, credit card numbers, financial information, and any other sensitive data. Phishing can also be when attackers get you to infect your machine with malware. A common example of phishing attacks, especially this time of year when online shopping is at an all-time high, is for attackers to send a text message that claims there’s a delivery problem with one of your orders and includes an official-looking link where you can fix the issue. But there is no issue. It’s just an attempt to get you to provide your login information on a fake login page. Defend against phishing attacks by not clicking unexpected links in texts or emails. And if you need to log into an account, log into the website directly

3. Social Engineering

We often think of hacking as technical but psychology in the form of social engineering can also be a surprisingly successful tactic to gain sensitive information. In the context of information security, social engineering is psychologically manipulating people into doing actions or providing confidential information. In other words, social engineering is lying. Going with the flow, acting in accordance with social norms, and playing on people’s expectations are keys to this in-plain-sight deception. A simple example of social engineering would be if someone showed up at your door with a vest, clipboard, and pleasant demeanor saying they’re with the power company and need to inspect a line in the backyard, can you let them in? Many people would do it without thinking twice. After all, it looks legit. But looking legit isn’t the same as being legit. And that’s how you can prevent being a victim of social engineering — think twice, ask why, check credentials, call it in and verify. 

4. Denial of Service (DoS)

A denial-of-service attack is a cyber-attack in which an attacker uses an overflow of data or network traffic to shut down access to a machine or network. Common DoS attacks include ping floods, UDP attacks, ICMP echo requests, SYN floods, ping of death — the list goes on. These attacks, like all others, are extremely common. For example, in Q3 2022, Kaspersky’s DDoS Intelligence system detected 57,116 DoS attacks. Because DoS attacks target services, preventing them is more of an issue for network administrators than individual users. And the best defense against DoS attacks is a well-documented resiliency plan, automatic network traffic monitoring, and a relationship with a mitigation provider.

5. Application Repackaging

Alright, let’s shift gears to a topic we recently covered in our Android app hacking ebook — application repackaging. This is an attack where attackers use your intellectual property (your application) against you and your customers. The way that they do this is by downloading a legitimate app from a legitimate business and then reverse engineering that application so that they can view the source code and modify it before recompiling and repackaging the application for download. Typically, the modification is a tiny change that’s undetectable to users and does something simple like emailing login credentials to an email account. Users then download the application, which looks legitimate, and use it, never the wiser that the application was compromised and is now leaking data.

Users can get a level of protection against these types of apps by only downloading known applications from trusted sources. Developers can utilize application hardening to obfuscate source code and make applications impervious to reverse engineering attempts so that hackers can’t repackage the app.

6. SQL Injection Attack

Another attack that developers in particular need to be aware of when creating applications that interface with databases is SQL injection attacks. This is a common attack where attackers use malicious SQL to gain access to sensitive company data, user lists, or private customer details. These attacks are carried out when attackers send malicious SQL statements to the database through the interfacing application, which the database interprets and runs as a command. According to the Open Web Application Security Project, injection attacks were the third most serious web application security risk in 2021. SQL injection attacks happen when unchecked commands are accepted and sent to a database, so developers can protect against these attacks by sticking to the fundamentals when coding and always validating user input to ensure it’s what’s expected.

7. Cross-Site Scripting

Somewhat similar in concept to SQL injection attacks but also unique is cross-site scripting (XSS). These attacks allow attackers to insert client-side scripts into benign and trusted websites viewed by other users. Attackers use a cross-site scripting vulnerability to get around access controls like same-origin policy. An example of cross-site scripting is a search form, where visitors send a search query to the server which then returns tampered results that will send them to compromised web pages.

To prevent XSS attacks, applications must validate input data and ensure that variable output in a page is encoded before being returned to the user. A web application firewall (WAF) can also protect against XSS attacks by filtering bots and other malicious activity that may indicate an attack, blocking attacks before scripts are executed.

8. Session Hijacking

In a session hijacking attack, a hacker takes control of a user’s browsing session to get access to personal account information, and passwords. These attacks typically happen when people are checking email or financial accounts. You can prevent session hijacking by avoiding insecure public networks or using a VPN, as well as browsing websites through an encrypted connection such as HTTPS.

9. Rootkits

Rootkits are a form of malware that hackers use to get “root” control over a device. You might wonder why anyone would willingly run a program that would give hackers this access. How would anyone be tricked into doing such a thing? Well, phishing and social engineering are just a few tactics. What if you found yourself in a situation where a “tech support person” told you to download a program from a website to fix a problem you’re having? But instead of fixing the problem, it gave that person real-time monitoring access to absolutely every single thing you did on your device. That’s what can happen with a rootkit. Again, the best way to avoid rootlets is to avoid clicking unknown links or downloading software from untrusted sources. And if you do suspect you’re infected, a malware removal tool can scan for, find, and remove rootlets.

10. Credential Reuse

Credential reuse is a big problem for many organizations. Because every service now requires users to create a unique account, many users get in the bad habit of resting login credentials between accounts for speed and simplicity — but at the expense of security. If one set of credentials becomes compromised in a data breach that may not even be the users’ fault, hackers can take that information and attempt to log in with that information across many services. Think of how many people probably use the same email and password combination for their email, eBay, Amazon, PayPal, Venmo, and everything else. Moreover, once hackers get this information, they can shut you out and cause damage well before you can stop it. What’s the best defense? A unique password for every account and strong password hygiene for every password!

11. Fake Wireless Access Points

Fake wireless access points are exactly what they sound like. A hacker finds a public spot with many people looking for and using public networks and puts up one of their own. All it takes is an official-sounding name and no-password-required and chances are that many people will hop on and browse all their private accounts while the hacker sits back and intercepts everything. The obvious way to avoid finding yourself on the wrong side of these attacks is to avoid unfamiliar public networks. And if you absolutely must use one, do not do any private browsing.

12. Ransomware

One of the most horrific attacks a person or organization can fall victim to is ransomware. Ransomware is when access to files, data, networks, or any other component of a computer system is cut off and held for ransom. Typically, hackers lock or encrypt all the data, and paying is the only way to get it back, and even then it’s only a maybe. Ransomware was a big problem in 2022 and it’s expected to get worse, with ransomware damages likely to exceed $30 billion worldwide in 2023. Preventing ransomware is possible but requires organizations to take a comprehensive approach toward security that includes, well, basically everything at the user and system level.


Protect Your Applications From Attackers With PreEmptive

There are a lot of hacks out there and effective cybersecurity measures require multiple levels of protection to adequately protect ourselves, our organizations, and our businesses. 

 

  • Implement network segmentation by spreading data out and reducing exposure during an attack.
  • Enforce the principle of least privilege (PoLP) and grant users access to only what they need and no more.
  • Backup data (personal and at an organizational level) frequently so that if worse comes to worst, you can simply wipe an infected system and restore it.
  • Educate yourself and your staff on security trends and learn how to spot nefarious activity such as phishing and unsolicited attachments.
  • Keep all software and systems patched and updated.

And if you’re a software developer, you’re perfectly positioned to create secure applications. And PreEmptive makes it easy. We’re a trusted global leader in protection tools for Desktop, Mobile, Cloud, and Internet of Things (IoT) applications. We help organizations make their applications more resistant and resilient to hacking and tampering — protecting intellectual property, sensitive data, and revenue. Get a free trial to learn more.

 


 

 

Categories
DevSecOps

Give Your Business the Gift of DevSecOps

Reading Time: 4 minutes

The holidays are here and many of us are thinking about all the wonderful gifts we’re going to be giving this year. A new fishing pole for dad, some nice jewelry for mom, and a good self-help book for that one stepbrother. Well, maybe. We’ll leave that last one up to you.

There’s one other incredible present you can give and that’s the gift of DevSecOps to your business. How does that sound? Exciting? Maybe not. But that’s actually the beauty of DevSecOps. When done right, it eliminates all the “excitement” of hacks, attacks, data breaches, and everything else that comes along with vulnerable software.

DevSecOps, also known as Development-Security-Operations, is an approach to security integration at all stages of the software development lifecycle, beginning with the initial design and extending through the integration, testing, deployment, and delivery. 

And you might say that it’s a “popular gift” this year. A survey of more than 500 DevSecOps professionals in the United States found that 73% of organizations intend on increasing their total investment in application security in 2023. The total global market for DevSecOps is expected to be $17 billion by 2026.

Below are a few key features your DevSecOps approach needs to include so that your business can enjoy the peace of mind that comes with having a secure software development lifecycle process and knowing that your holiday won’t be spoiled by hackers.

 

Build Security Into the Software Requirements

Security needs to be an intentional, active part of the software development process from the beginning, not an afterthought once the project is nearly complete. And one strategy to ensure that it is a priority from the beginning is for development teams to document software security requirements alongside the functional requirements. This helps to build security into the program right from the start.

Authentication and password management, authorization and role management, network and data security, encryption and key management — these are just a few of the key areas that need to be securely accounted for when project requirements are hashed out. It’s not enough to simply accomplish the task — it has to be done in such a way that companies’ and customers’ data is protected.

 

Test Early and Test Often

Imagine that you’re building a house and the plumber just finished installing all the piping. Would you want them to turn on the water and test the pipes before the drywall crew sealed up all the walls? Just in case there was a leak? It’s a whole lot easier to find and fix it now than wonder why the hardwood floors are wet the third day after moving in.

Engineering software is the same way. Code is only as secure as its most insecure component. So in addition to building security into the specs, make sure that your testing process includes security testing, too — often and early.

 

Make Application Security Part of the Life Cycle

Security isn’t a checkbox on a list, rather it’s the watermarked paper that the list is written upon. It’s the fortified walls from which you sit and check off the items on the list. It’s the verifiable, magnetic ink in the pen you use to check the boxes. It’s the notary stamp on the checklist document when you’re finished. And when creating software, security needs to be a fundamental aspect of the framework itself.

There are a few ways to accomplish this. Keep the development team aware of all current best security practices; account for it in ​​the planning, architecture, production, and development stages; consider using security specialists or providers to bring agility and expertise into QA cycles.

 

Automate Security in the Development and Testing Processes.

The number of vulnerabilities that can and do affect applications is far too vast for any one person or team to simply know and remember while they’re coding. And the very idea of trying is inefficient because we have tools that do it for us. And isn’t that the whole purpose of coding anyway?

DevSecOps tools like PreEmptive make it easy. Our obfuscation solutions for .NET, Java, JavaScript, Android, and iOS ensure that your applications are more resistant and resilient to hacking and tampering to protect intellectual property, sensitive data, and revenue.

 

Continue Protection After Deployment

Engineering the software to do everything the specs call for is just the start. Then it has to go out into the world and not only function but also not break. And not give up the keys to the kingdom in the form of a data breach. How do you do that? Implement safety protocols that continue after the software is deployed.

Runtime app self-protection is one way to ensure your apps detect and block hackers’ attempts to gain access to source code, find vulnerabilities, create exploits, and all the other malicious activities they’re not supposed to do.

 

Make DevSecOps Work for You in 2023 With PreEmptive

 

An ironclad DevSecOps process is totally achievable with PreEmptive. Android, .NET, Java and more — we’re professional app shielding. Helping organizations all over the world protect their apps and customer data from passive and active attacks is what we do. We can do it for you, too.

Request a free trial and let us show you how to make your holidays merry and bright with the industry’s best DevSecOps solution!

 


 

 

 

Categories
Support Corner

Support Corner: Protecting React Native Apps

Reading Time: 3 minutes

We’ve recently worked with a handful of customers in the process of creating React Native apps. As with other mobile development frameworks, it is relatively easy to reverse engineer and tamper with React Native apps. For this reason, it’s essential to secure your organization’s IP and data before publishing. In the following article, we’ll discuss how to do so using PreEmptive.

React Native apps are primarily written in JavaScript, then packaged as an APK, AAB, or IPA file for deployment. Once the app is installed on a device, the end user can extract an APK and see the bundled JavaScript file within the “assets” directory. The bundle will be minified during the build, but this can easily be unminified and formatted by a text editor such as Nodepad++ with JSTool. Doing so would reveal API calls, keys, and sensitive strings:

JavaScript can also interface with Native Java modules. Java is compiled and embedded in the APK as one or more classes.dex file(s). A tool such as ByteCode viewer can decompile the classes.dex to reveal sensitive IP within Java source:

Leaving code exposed in such a way is quite dangerous. A hacker could clone the app, infiltrate back-end systems, initiate a data breach, and more. Luckily, PreEmptive can protect the code embedded in the APK. JSDefender for JavaScript can protect the JavaScript bundle. DashO Java obfuscator can protect the Java code.

JSDefender’s Metro plugin and DashO’s Gradle plugin integrate protection directly into our build.

metro.config:

build.gradle:

When building the React Native project

>npx react-native run-android 

or 

>gradlew clean assembleRelease or bundleRelease


PreEmptive can be seen running in the build output:

After this build, binary is hardened against decompilation, reverse engineering, and tampering:

The full source code sample can be downloaded here.

In order to run the sample:

  • Download the JSDefender (trial or commercial) Core and Metro npm packages. 
  • Configure the JSDefender license key in jsdefender.config.json. 
  • Install and register PreEmptive DashO (trial or commercial) on your machine.
  • Run npm install within the directory. 

If you have feedback on this topic or any other topics you would like us to discuss in the Support Corner, please contact us.

 

 

 

 

Categories
Risk Management

Holiday Hacking — What Are the Trends?

Reading Time: 3 minutes

The holidays are here and many of us are taking time off work. But do you know who doesn’t go on vacation? Hackers. In fact, security breaches and attempted attacks go up this time of year. Ecommerce sales increase, so there’s more opportunity to steal financial information. And a lot of people take time off work, leaving organizations less able to respond quickly to security alerts as they happen.

Here, we’ll look at the characteristics and trends of hacks and attacks that happen during the holiday season, including what threats are most prevalent, how they happen, and the consequences of overlooking cybersecurity measures. And we’ll also provide a few tips for reducing your risks so that your holidays stay merry and bright.

 

Teams Are Understaffed

During the holidays, businesses and organizations are especially susceptible to cybersecurity attacks. Security firm Cybereason wrote in a 2021 report that ransomware attacks occur more frequently on weekends and holidays. One of the primary reasons is the human element — many people take time off work leaving fewer team members present to detect and respond to threats.

When people are out of the office, response times go up, or are paused altogether. Responsibilities may be handled by others who are less experienced and unable to respond with the same speed and thoroughness. And when you consider that many large organizations use third-party vendors to monitor technology infrastructure, it’s one added level for a diffusion of responsibility to creep in.

 

Ransomware Threats Are Increased

Ransomware attacks are happening with accelerating frequency, affecting both individual consumers and major corporations alike. Even states aren’t safe, with Montenegro’s government recently finding itself on the receiving end of an attack. And, for hackers, a long holiday weekend is a great time for a ransomware attack. Why? See the above — teams are running on skeleton crews, and ransomware attacks often need time to spread throughout a network. And there’s no better time than when resources are spread thin.


Phishing Goes Way Up

With Black Friday just around the corner, it is expected to hit $158 billion in sales this year in the United States. In addition to intercepting or otherwise stealing payment information, attackers have gotten creative in other ways by impersonating shipping companies such as DHL, FedEx, and UPS and sending emails or text messages about a problem with a package. Since many people are sending or receiving packages this time of year, many employees fall victim and may end up providing personal information, such as login and password credentials or bank information in an attempt to remedy the fake problem.

 

How You Can Prepare & Respond

Before you slow down for the holidays, take a moment to make sure you’re prepared. All businesses and organizations should have incident response plans and review them before the holidays to ensure protocols and contact information are all current. If there are gaps, they can be addressed. Don’t allow yourself to get in a situation where you find out late in the evening that the server is down and only Bob can fix it, but nobody has Bob’s current cell phone number.

Additionally, even though the holidays are a time when many people relax, security teams should stay vigilant about vulnerabilities by assigning specific personnel to monitor security alerts as they’re announced and apply all necessary patches without delay.

Finally, one of the most important steps organizations can take is to conduct phishing simulation training so employees can identify malicious attachments and links. Hackers have become quite sophisticated in their phishing attempts and it’s not simply about being easily fooled. Advocate or implement, depending on your position, company-wide training about phishing.


Stay Secure With PreEmptive

When you secure your applications with PreEmptive, you’re locking hackers out. They can try — and they do — but they fail. And then they move on to easier targets. It’s why over 300,000 users and 5,000 corporate clients spanning virtually every industry in over 100 countries trust PreEmptive for software security that reduces the risks of hacks and data breaches.

  • The largest mobile carriers in the world utilize our mobile protection solutions
  • We’ve been the industry leader in obfuscation and in-app security for 20+ years
  • PreEmptive is the only third-party technology embedded into Visual Studio, which makes it subject to Microsoft’s regression tests, code audits and security reviews.

 

Want to see how you can hit the sweet spot between cost, convenience, and functionality with PreEmptive? Schedule a fast-and-free, no-obligation demo to see how PreEmptive integrates seamlessly with your development process to maximize data security while saving time and money.


 

Categories
Risk Management

A Review on JavaScript Security in 2022

Reading Time: 4 minutes

Among developers, JavaScript is a popular programming language for web application development due to its flexibility, interactivity, and user experience. A Stack Overflow survey shows that over 67% of developers use JavaScript. Also, more than 95% of websites use this language.

But from a security point of view, JavaScript is the fourth most vulnerable programming language, just behind Java, PHP, and C. Much can go wrong with JavaScript, from malicious attacks to insecure user inputs. 

The potential risks include stealing a user’s session, redirecting a session, modifying data, and tricking users into performing unintended actions. JavaScript’s source code vulnerabilities also allow for data exploitation. How can you address these JavaScript vulnerabilities and make your web applications secure in 2022 and next year?

Common JavaScript Vulnerabilities and How They Manipulate Data

Below is the list of common Javascript vulnerabilities and how they can steal or manipulate your data:

→ Vulnerabilities in Source Code

As JavaScript is an interpreted programming language and not a compiled one, a single obfuscation method won’t protect your application against hackers

Other vulnerabilities include developers’ widespread use of libraries and software packages in the application code. There can be potential hidden vulnerabilities in the packages, which hackers can use to exploit the code later on.

→ Cross-Site Scripting (XSS) Vulnerability

How JavaScript interacts with the Document Object Model (DOM) on the web page can become a potential security concern, allowing for script embedding and execution on client computers across the internet. 

XSS attacks allow web applications to accept unintended or untrusted scripts on a webpage without proper validation.

The XSS attack involves the hacker interacting with the user through reverse engineering or requesting them to visit a particular page. Next, the browser executes the untrusted script, and the attack completes successfully.

Server-Side Injection Vulnerability

On the server side, injection attacks are more common. They exploit query parameters in SQL databases to execute arbitrary JavaScript instructions on an application. 

The applications that usually pass string functions like setTimeout(), eval(), and setInterval() are more vulnerable to injection attacks. An attacker can create an id string parameter to retrieve all tables from the database or write in the database.

Hijacking Session Data

The client-side JavaScript on a browser accepts all content that a web application returns to a browser. This also includes cookies containing sensitive data, such as users’ session IDs. A common way for an XSS attack is intercepting the session ID and sending it to the hacker. In this way, the hacker is able to hijack the session.

How to Improve JavaScript Security During Development

There are certain preventative measures you can take to avoid vulnerabilities and increase your JavaScript application security:

 

1. Conduct Regular Scans on Your Code

Audit your application code regularly to find potential vulnerabilities. In addition, write test units to ensure your code behaves as you want it to and executes securely. 

Also, use scanning tools to regularly scan your application code and identify potential vulnerabilities in third-party libraries and packages. So, you can remove them before they can be exploited. Do a regular patch and update your libraries.

2. Perform Proper Input Validation

To prevent XSS attacks, perform proper validation and sanitization of user input to ensure it only consists of acceptable characters. For example, you can allow the phone number field to include only numbers and a dash or parentheses. 

Don’t allow unexpected character input. Use methods such as innerText, a secure way to manipulate DOM. This method escapes malicious content, thus preventing DOM-based XSS attacks.

To prevent malicious SQL injections, you must also perform input validation. If it fails the test, the SQL query won’t be executed. Another way to deter potential injection attacks is to replace concatenations with prepared statements or parameterized queries. 

Basically, the parameterized queries can extract the SQL syntax from the input parameters. 

An excellent way to enhance server-side security is to use server application protection. It will integrate seamlessly with your JavaScript application build to prevent both active and passive attacks.

3. Escape or Encode Insecure Data

Any XSS attack relies on input data containing special characters in underlying JavaScript. The browser views these characters as part of the web page code rather than as a value to display during execution. 

This enables the hacker to get out of the text field and provide extra browser-side code for execution. To prevent this type of attack, any time your browser-supplied user input returns a response, replace the special characters with an escape code. 

For instance, replaced the < and > characters to delimit HTML entities with &lt; and &gt;. This will prevent the browser from interpreting these characters as HTML entities, forcing it to display them.

4. Secure Cookie Transmission

It is a bad security practice to expose session IDs in logs, error messages, or URLs. This causes issues like session hijacking, fixation, and cross-site request forgery (CSRF). The CSRF attack tricks the browser to execute malicious requests to other websites in the background by using the clients’ session cookies.

A technique to prevent this kind of attack is to introduce tokenization for client-server interaction. Upon establishing a session, a token must be generated for each form on the site and sent with each request while the user is present on the website.

Another way to secure cookie transmission is to use HTTP-only cookies. This attribute won’t allow the browser to provide access to cookies through DOM. It will also prevent client-side script attacks from accessing session IDs from the cookies.


Wrapping Up

JavaScript is a popular programming language, but its source code is visible to anyone with a browser. It has other potential pitfalls as well. The recommended best security practice to prevent hackers from exploiting JavaScript vulnerabilities is to keep both the client and server sides secure. 

This approach prevents the risk of malicious content while validating the client to improve end-user results. The client-side validation will inform users of issues with their input, while server-side validation ensures that only trusted data makes its way to the JavaScript application.

A good security practice is to obfuscate your JavaScript code to prevent hackers from reverse engineering, finding vulnerabilities, and debugging. 

PreEmptive JSDefender can help you obfuscate your code, making it difficult for malicious attacks to exploit JavaScript security and modify or steal your code. Register today to get a free trial!


 

Categories
Risk Management

3 Ways Financial Service Organizations Can Improve Mobile App Security

Reading Time: 5 minutes

Finance mobile apps usage is rapidly accelerating, with the number of user sessions increasing by 49% in 2020. VMware reports that cyberattacks on financial apps also rose by 118% during the same year. 

Another report by Intertrust reveals that 77% of financial services apps include at least one security vulnerability that could lead to a data breach. Recently a new Trojan virus called SOVA has been found targeting financial banking apps by encrypting the Android phone and asking for a ransom to decrypt afterward. 

Cybercriminals look for maximum impact and profit, making financial apps a potential target. Therefore, it is imperative to adopt certain measures to improve mobile app security during the development process. 

Challenges to Financial App Security and How To Avoid Them

 

Making financial applications resilient to cyberattacks is a must security practice. During app development, you can improve security by avoiding the following mistakes:

→ Not Validating Data

 

Not validating user input can make your financial app an easy target for hackers. They can easily enter harmful codes or malicious commands that can cause a data breach. 

Therefore, you must validate data by checking its format, length, permissible characters, minimum and maximum value, etc. This way, the app will only accept the user data you want. 

Weak or No Encryption

 

If you are storing or sending data with weak or no encryption, hackers can easily access and use it for nefarious means. Therefore encrypt all data that you transmit or store so even if hackers download it, they won’t be able to access it. 

Most developers focus on the client side of app security and don’t pay much attention to the server side. This can compromise confidential data, such as credit card information stored on the server. 

The solution is to include a reliable secure sockets layer (SSL) and high-level encryption in your app security practices. This will boost server-side security.

A tool like DashO can provide layered protection for your financial Android and Java apps. Layering makes it impossible for hackers to gain access to sensitive information. 

Another excellent app security practice is to use encryption protocols like SHA256 and AES. Also, never store the encryption keys on the application. 

Not Validating User Authentication 

 

Permitting users to set any password they want is risky because hackers try different combinations of characters to gain access to passwords by brute force. 

You can avoid this by including validation for setting passwords and locking users out of their accounts after a few incorrect login attempts. Also, set up multi-factor authentication for the app. 

Cached Confidential Information 

 

Caching confidential information saves time for users as it allows them to log in instantly without entering data. However, it also puts them at risk of breach. If the device gets stolen, anyone can log into the app.

The solution is to include conditions to prevent confidential information from getting cached automatically.

→ Skipping Penetration Testing

 

Penetration testing allows you to know about security vulnerabilities in real-time. Research by Informa Tech conducted on companies with 3000 or more employees shows that 69% of organizations perform penetration testing to prevent data breaches.

Due to deadlines, shortages, or other reasons, developers usually skip this step and release the app, which puts users at risk. No matter how short the delivery deadline is, perform many penetration tests on your app. This will help you find security flaws and fix them during the development process.

3 Ways to Improve Financial App Security During the Development Process

Following these best security practices will improve app security during the development process:

1.  Using Multi-Tiered Authentication

 

A token is a security unit that authenticates a user’s identity by storing personal information transmitted between applications and websites. Financial app developers should use tokens to monitor user sessions. 

These tokens can be approved or withdrawn. Also, design the app to accept medium-to-strong passwords containing alphanumeric characters. These passwords should be renewed regularly, let’s say after every six months. 

Adding a one-time password (OTP) system for each login session will make sign-ups more secure. A multi-factor authentication (MFA) system, including a combination of a retina scan and biometric print, will level up your app security. While hackers can crack passwords through brute force, the biometric factor will foil their attack.

Many security regulations also call for implementing MFA, so you’ll also have a better posture at compliance. Moreover, the user login process can be simplified by using MFA. Once you authenticate users, you can reward them with Single Sign-On (SSO), where they can use multiple services on a single login.

2. Use of Authorized API

 

Always use an authorized application programming interface (API) in your financial app code. To gain maximum security in the app development process, you must have centralized authorization for the whole API. As apps are installed on mobile phones, they are less secure. 

Hackers can install their own app on a device they control and easily manipulate the financial app to take advantage of its security vulnerabilities. API calls are usually protected by an API key and user credentials as an access token. 

You can secure your APIs when they access third-party platforms by using digital signatures, encrypting data, quotas, API gateways, and throttling. 

3. Real-Time Threat Detection

 

In the past, organizations would get to know about a security lapse in their apps after a considerable time. Now they are increasingly focusing on building real-time threat detection capabilities.

The reasons are that early detection can help retrieve stolen information promptly, and regulations require businesses to report a breach quickly. A company‘s reputation suffers if it takes a long time to detect and respond to a security violation.

Therefore, if you develop a real-time threat detection system for your app, you can take preventative measures against developing ransomware and patch vulnerabilities. Moreover, you can use a tool like Dotfuscator for .NET that provides app security in real-time by updating its protection regularly to counter cyberattacks.


Bottom Line

App hardening

Given the sophistication of cyberattacks on financial apps, the financial industry cannot solely rely on a single security practice. When developing an app, it is crucial to ensure that it complies with data privacy regulations and is not susceptible to cyberattacks. 

Adopting a solution consisting of real-time intelligence, multi-user authentication, database security, and authorized API is vital for mobile app security. But remember following the best security practices for financial apps requires considerable expertise. 

Tools like PreEmeptive can assist you with app security by offering a smart app protection solution against reverse engineering, unauthorized debugging, and snooping. 

We use a layered approach, including encryption, root detection, obfuscation, shielding, and tamper-proofing to prevent hackers from exploiting your data. Learn more on our product page.


 

Categories
JSDefender Change Log

JSDefender Change Log V2.6 Build 0 – Release Date Nov 01, 2022

Reading Time: < 1 minute

Change Log – Version 2.6.0 – Release Date Nov 01, 2022

Features

  • upgrade webpack support to version 5.74.0
Categories
101

Hacker Horror Stories to Frighten Dev Teams This Halloween

Reading Time: 4 minutes

Halloween is a time for ghosts, ghouls, and other frightening things. But ask any cybersecurity professional if they’re more scared of hockey masks and chainsaws or hackers and malware, and most will take their chances with the slashers. Truly, few things are more terrifying than when data security is compromised. 

Customer information, reputation, credibility, the outlook for the future — all of those things come into question when hackers and attackers infiltrate. It’s the thing of nightmares and, unfortunately, it happens more often than you think.

In fact, some estimates place the total at 109 million accounts that were breached in the third quarter of 2022 alone. That’s a 70% jump over the previous quarter. Yikes! And while no breach is minor, sometimes the magnitude of the breach, who it affects, and the costs and outcomes are especially jaw-dropping.

So to finish out Cybersecurity Awareness Month, let’s look at a few especially terrifying hacker horror stories that are sure to spook you!

 

Hackers Breach the Red Cross

It’s bad enough when hackers target businesses, but something about going after the charitable organizations that help people seems especially egregious. That happened in January of this year when hackers attacked servers operated by the Red Cross, which contained data about Restoring Family Links services, which works to reconnect people separated by war, migration, and violence. The personal information of a half million people was exposed.

 

 

Disgruntled Employee Goes After Cash App

It’s one thing when hacks and attacks come from the outside – those are to be expected. But when a person within an organization betrays their position to compromise security? That type of inside job is hard to protect against. Cash App found out the hard way in April this year when a former employee breached data containing customer names, stock information, account numbers, and portfolio information, along with a lot of other sensitive financial information. Eight million customers had to be notified about the occurrence!

Russia’s Warfare Has Cyber Element

Few things are more horrific than war. And the conflict that’s on everyone’s mind is what’s going on in Ukraine. The violence on the ground is bad enough, but Russian hackers have also taken to launching cyber attacks against the power grid in Ukraine, nuclear facilities, and a lot more.

 

Personal Health Information Leaked

Australia has had an especially difficult 2022 when it comes to cyber attacks, and many organizations have found themselves in compromising situations. Among the worst was when the personal health information of almost a quarter million people was leaked. In this case, not only were clients put at risk, but the company itself, Australian Clinical Labs Ltd., saw its share price fall as a result.

Hackers Hit the Bar

Having a glass of wine (in moderation) is a commonly practiced way to temporarily forget about problems like data breaches and security leaks. Well, not for customers of iDealwine. The online wine merchant just recently reported that they’d been the victim of a data breach that has potentially exposed the information of every single one of their customers.

Former Uber Exec Covered Up Data Breach

Imagine facing nearly a decade in federal prison for a hack you didn’t even commit. That’s what happened when former Uber Chief Security Officer Joseph Sullivan was found guilty in federal court of not disclosing a 2016 breach of customer and driver records to regulators and attempting to cover up the incident. He is looking at a possible maximum of five years in prison for the obstruction charge, and a maximum of three years for the other charge. It doesn’t get much worse than that.

 


PreEmptive Protects Applications From Hackers

 

Maintaining data security in today’s world requires a comprehensive approach and constant vigilance. No single habit does it all, nor is sometimes often enough. Whether it’s simply regularly changing your passwords and practicing good password hygiene, or implementing a full-fledged, enterprise-level security program.

When it comes to helping software developers create secure products, PreEmptive is a trusted global leader of protection tools for Desktop, Mobile, Cloud, and Internet of Things (IoT) applications. We help organizations make their applications more resistant and resilient to hacking and tampering so that protecting intellectual property, sensitive data, and revenue is achievable.

Want to learn more about our products and if they’re right for you? Contact us for a complimentary security consultation.

 


 

Categories
Risk Management

Cybersecurity Awareness Month: Changing Your Passwords

Reading Time: 4 minutes

October is Cybersecurity Awareness Month, a month-long effort to raise awareness about the importance of practicing good habits to keep ourselves and our data safe. This year’s theme is “See Yourself in Cyber,” which is intended to communicate that cybersecurity isn’t complex; it’s all about people. And one of the most important things people can do to stay safe online is to practice good password hygiene. And what better time to start than by updating your passwords for Cybersecurity Awareness month.

 

Why You Should Practice Good Password Hygiene

Passwords are how we verify our identity. Whether it’s online banking, email, applications, or the countless other things in our daily lives that require a password, using sound practices to manage them is a must to keep your data safe and secure from prying eyes. Hackers look for situations with weak passwords; unfortunately, many people make it easy.

When was the last time you changed your email and social media passwords? What about your bank and household accounts? Experts say you should do it at least every three months. Do you use the same passwords for any accounts? If you’re shy about sharing your answers, you’re not alone. Many organizations have poor behavior around password management, and weak passwords cause at least 30% of security breaches. 

The 2021 Verizon Breach Investigations Report found that 80% of hacking-related breaches involved stolen or brute-forced credentials. But such aggressive approaches usually aren’t even required. For example, did you know that “Password” is the second most-used password in the United States? We can do a lot better than that.

How to Change & Manage Your Passwords for Cybersecurity Awareness Month

Each of us has over 80 passwords, and there are better ways to manage them than saving them in browsers, writing them on post-it notes, or reusing them for multiple accounts. In honor of Cybersecurity Awareness Month, we’re encouraging everyone to update their credentials. Below are strategies and habits that can ensure your passwords are secure.

Use a Password Manager

A password manager like LastPass or KeePass eliminates the need to memorize credentials or store them in a browser. With just one password you can can create and save passwords for all your accounts.

 

Create a Strong Password

Creating a strong password is a critical step to protecting yourself online. Using long, complex passwords is one of the easiest ways to defend yourself from data breaches and hacks.

 

Get Goofy

If you must create your passwords instead of using randomly generated examples, get creative. Phonetic replacements (“kc” instead of “k”), deliberate misspellings, and substituting letters with numbers and punctuation marks or symbols (such as @ instead of the letter “A”) can maintain security while allowing you to remember your password more easily.

 

Make It Hard to Guess

The National Institute of Standards and Technology provides several suggestions to promote password security, including not using personal information in your passwords. Kids’ names? Pets names? Address? Forget it. All of that information is easy for criminals to guess.

 

Don’t Tell Anyone Your Passwords

Never tell anyone your passwords. If someone calls you on the phone or emails you and says they’re with a service provider and need your passwords, hang up — it’s a scam. Additionally, do not keep written passwords out in plain sight.

 

Each Account Gets Its Own Password

 

Using the same password across multiple accounts is like giving attackers a master key that unlocks every door in your life. Do you really want to do that? Mix things up and use a distinctly unique password for each account. Password managers — which you should use — make it easy.

 

Double Your Protection With Two-Factor or Multi-Factor Authentication

 

Whenever an application allows you to use multi-factor authentication (MFA), do it. It’s another way to ensure that the only person with access to your account is you.

 

Other Strategies to Stay Safe Online

 

Practicing good password hygiene all the time is something every one of us needs to do. But it’s also just one component of cybersecurity. You can arm yourself with multiple layers of protection by following these other practices promoted during Cybersecurity Awareness Month.

 

  • Think before you click. If a link looks off, don’t click. It could be an attempt to steal information or install malware. 
  • Update your software. Got a software update notification? Install it immediately. Even better, turn on automatic updates.
  • Get more information. Want to see everything you can do? Get all the tips about cybersecurity at the official website.

PreEmptive Is Security

PreEmptive helps organizations make applications more resistant and resilient to hacking and tampering. We are a global leader in obfuscation tools for Desktop, Mobile, Cloud, and Internet of Things (IoT) applications. Our products balance ease of use, strength of protection, quality of output, ROI, and security.

Learn more about our products.