A Practical Guide to SharePoint 2013

A Practical Guide to SharePoint 2013
A Practical Guide to SharePoint 2013 - Book by Saifullah Shafiq
Showing posts with label Vulnerabilities. Show all posts
Showing posts with label Vulnerabilities. Show all posts

Wednesday, March 29, 2023

Why Digital Immune System is Important for Businesses


Businesses face never ending challenges on a daily basis. They constantly work on providing a reliable client experience by formulating optimization strategies and by practicing resilience. A recent study has shown that enterprises that will invest more in the digital immune system will be able to satisfy their customers and might be able to exceed their expectations. Such companies will be able to minimize their downtime to 80% by 2025. Let’s explore how the digital immune system is helping to reduce business related risks. 

What is a Digital Immune System?

A digital immune system is a comprehensive term which involves a set of technologies, practices and software engineering strategies used for software design and development, automation, data analytics and operations in order to minimize business risks. Having an effective digital immune system means that it will act as a barrier against software bugs or other security related flaws. There are many instances when your applications and services fail to function properly which might affect your business performance. DIS allows these applications and services to be robust, resilient and competent enough to recover from such faults and failures by mitigating business risks. 

Prerequisites for Digital Immune System

There are six prerequisites for an efficient and powerful Digital Immune System as discussed below:

1. Chaos Engineering: In order to identify the faults, weaknesses or vulnerabilities in the complex system, it is essential for businesses to do experimental testing beforehand. This means that the teams can practice and test run safely without any obstructions in a pre-production process. Later, they can implement the lessons that they learnt in the normal operations and proceed towards the right course of action by engaging in the process of production hardening.

2. Observability: The element of observability enhances transparency and allows systems or software to be "seen" or "observed". The data that the system generates helps IT teams to monitor the application performance. This helps them to identify the root cause of the problem and address it. Users’ experience also improves as their behavior is monitored. 

3. AI augmented Testing: This means software testing will be done by businesses without much dependency on humans or requiring their intervention. It automates the planning, creation, maintenance, and analysis of tests, complementing and extending conventional test automation.

4. Auto remediation: This practice involves building context-sensitive monitoring capabilities and automated remediation functions into an application. This enables an application to monitor itself and correct issues automatically, returning to a normal working state without requiring the involvement of operations staff.

5. Site reliability engineering: SRE is a way of managing digital services that focuses on improving the user experience and customer retention. It uses a set of engineering practices and principles to balance the need for speed and innovation against stability and risk. By doing so, it frees up developers to focus on creating a great user experience.

6. Software supply chain security: This is essential to protect against attacks that can happen when software is being created and distributed. One way to improve security is to create a "bill of materials" that lists all the components used in the software, whether they are open-source or proprietary. This makes it easier to track and manage potential vulnerabilities. By implementing strong version-control policies, using trusted artifact repositories, and managing vendor risk, you can help protect the integrity of your code.

 In conclusion, every company should have a Digital Immune System to deal with the growing challenges and risks. This will protect your business from vulnerabilities and attacks. 

Wednesday, February 15, 2023

Techniques used for Secure Coding

We are living in a world that is unceasingly relying on technology and upgraded software for many different activities. This has made it obvious for software engineers to come up with safe, secure and better coding or apps that will forestall the possible threats from attackers. Organizations and individuals are now making financial transactions electronically which is giving rise to security mishaps mainly because of malfunctioning of the application's software. A code which is not well secured means that it will result in considerable harm and companies belonging to various sectors (for example banking, energy, transport, telecom, healthcare etc.) will have to face malpractices in the form of financial losses, damage to property, larceny, physical damage or maneuverings etc.

What is secure coding?

Source code is an essential part of the computer program. It includes a number of instructions or statements which a programmer or coder creates and writes. It is usually written in the form of functions, commands, descriptions etc. which users and programmers can easily read and understand. In secure coding, programmers adhere to stringent rules and principles when it comes to writing, gathering, or setting codes in an application. They adopt a standardized language with an intent to mitigate and preclude the anticipated vulnerabilities i.e. disclosure of sensitive data or harm to a network. Not only this, it also requires a well-managed and highly secure IT infrastructure, efficient hardware and software for best results.

Many renowned companies having all the relevant resources have faced data breaches which reveals how insecure and cumbersome these soft wares are. Secure coding is important for companies that provide software services to people and other businesses because if they are not up to the mark, it will harm company's reputation. Ultimately they will lose customers and their trust because confidential data is their biggest and most valuable asset.

Major techniques involved in secure coding

While working on secure programming coders must ensure that the procedures and practices are simple, also referred to as KISS in computer science. Complex methods brings unfavorable and varying results so they must be avoided. 

Access Control: It grants permission to some individuals and restricts others from having access to the resources based on their login credentials. Authentication is the term used here to verify the identity of individual who tries to access the system. While authorization grants them access to some specific resources based on users attributes. This makes sure that your system is highly secured and well protected.

Secure management: This is another security policy that businesses must adopt. It comprises of a set of tools used to control and protect your sensitive information or authentication credentials for example password, APIs, or access keys etc. Revealing or uploading such confidential information on the code repositories can be problematic, so it must be kept as a secret. Also make sure your password is strong and complex to deal with common attacks. If a number of incorrect attempts are made to sign in, the system should deny them from entry. 

Strong data encryption: Another way of securing your data is by ensuring it is encrypted properly. You must encode your data in a way that only those users with the right encryption key can have access to it. For this purpose, you can refer to libraries and other sources that will help you to write a custom code.

Auditing, error management and logging: Software related errors can be in the form of bugs or cookies that can make companies vulnerable. To pare down their effect, error management and logging techniques are important. In error management, the errors in the code are detected which can prevent major incidents or failures. Logging helps programmers to diagnose errors in the documents and efficiently deal with it. 

Threat Modeling: In this framework the different threat agents are identified who can pose a threat to the computer system. There are four steps that developers follow here i.e. document, identify threats, address and validate. This process helps them to recognize the attackers or the possible threats that could arise. 

Regular security testing, keeping the system up to date and following these above mentioned guidelines will ensure that your code is secure and free from errors.

 


Wednesday, February 8, 2023

Ethical Hacking

With the escalation of global conflict, a number of subversive minded groups and individuals have emerged, threatening the national security systems of countries by funding and backing cyberpunks. Organizations are intimidated by these hackers too, who try their utmost to access and extort their data by means of malware. All the organizations, government/intelligence agencies, and national defense councils have to put in effort because viruses, malware and worms are active and making their way to their systems. To nip them from gaining access to networks they must work on new strategies, update their technologies and introduce hack preventing tactics. 

What is Ethical Hacking?

Ethical hacking is the lawful way of gaining an authorized access into the network or systems by penetrating into it. It is mainly done to improve and safeguard network security and shield against potential threats. During the process of intrusion, ethical hackers look for the weak points, identify threats from the system and later fix the vulnerabilities. All this is essential because if malicious attackers gain access to your network, it can result in data loss, sabotage the organization or institution and even result in financial losses.

Furthermore, there are few rules that ethical hackers must follow while performing their duties:

1.     Follow legal requirements: Before doing the security assessment, they must take prior approval from the relevant department of the organization.

2.     Determine the scope: They must give a detail account of the scope of assessment they will conduct so that everyone knows the parameters within which the ethical hacking is being performed. This will make sure that the work is done legally and with their approval.

3.     Inform about the vulnerabilities: After analyzing and determining the vulnerability, ethical hackers must keep the organization in the loop by reporting them about the vulnerabilities that they found out. Also, propose and give recommendations as to what corrective actions can be taken to resolve and deal with those vulnerabilities.

4.     Keep data confidential: There are certain agreements to which ethical hackers must abide. They should accept all the terms and conditions since data is sensitive and must not be disclosed. 

     There are some skills that certified ethical hackers should possess which include: 

       1. In-depth knowledge of information security

       2. Strong grasp over scripting language

       3. Network proficiency

       4. Competency in terms of operating systems


Other than that, there are many benefits of ethical hacking, the main ones include:

1.     Helps to combat attacks from cyber terrorists so that data cannot be misused, breached or stolen.

2.     Preventative action can be taken after finding the weak points and detecting the vulnerabilities from hackers POV

3.     Shields national security from external and internal threats or terrorists.

4.     Enhances the company's image in the eyes of customers and investors when company protects their personal data and provides them product security.

Now let’s move on to the different phases of ethical hacking that saves companies from attacker’s exploitation and falling in their trap.

1.     Reconnaissance: This is the first stage where all the information is gathered, prior to the launch of an attack. This information is mainly related to the target e.g. their password or job profile etc. Tools such as Maltego and Nmap are used to scan individual's network or to search about them.

2.     Scanning: In this stage the hackers try to access and gain the information of that target individual through different means such as exploring and searching for their IP addresses, essential records, accounts or credentials. To quickly go through their data, tools including sweeper, dialers, network mappers and even vulnerability scanners are used.

3.     Gaining access: Third step is about using means to get access to the person or organization's application, network or system. Attackers might install soft wares, applications or tools to exploit and steal sensitive data by getting access to the systems. Metasploit is one such tool. Certified ethical hackers will make sure that such vulnerable parts of the systems are protected by passwords and they use firewall to protect network infrastructure. They even check who are the gullible employees (can easily be targeted by hackers) by sending them fake emails.

4.     Maintaining Access: Once the hackers hijack the system, he continues to make DDOS attacks to gain access to the whole data base until they are fully successful in their malicious actions. The target in most cases doesn’t know about these activities. Penetration testers get to the depth of the system to find the susceptible areas by scanning the infrastructure of that company.

5.     Covering Tracks: Attackers try their best not to leave any traces behind. Thus, they remove and clear each and every clue and evidence through which they can be caught. Ethical hackers have to keep connections within the system. They use ICMP tunnels and HTTP Shells etc. In order to remove digital footprints, they delete all logs, history and cache so that they cannot be identified or traced back.

Businesses and nations must remain watchful at all times, since attackers are keeping an eye on their sensitive data. A strong ethical hacking system is mandatory in these times where everything is achievable through technology.