Saturday, October 27, 2018

Asynchronous & Synchronous Communication

Try to read the sentence written after this statement - “youwillpasscisspexamifyoustudyhard”. Clearly, you need to focus on the letters and your mind will try to discern the different words for you. Similarly, if I speak to you without pausing, it would again be difficult for you to discern and understand what I am communicating. So irrespective of the way we communicate – verbal or written, we need to follow certain grammatical rules so that the other party is able to clearly discern and understand what is being said. These grammatical rules for the written language include punctuation symbols such as comma, semicolon, spaces etc. while for verbal communication we use various aspects such as pausing, hand gestures, tones. 

In a similar manner, technological communication protocols also have their own grammar and synchronization rules when it comes to the transmission of data. We have two kinds of transmission ways – Synchronous & Asynchronous. Both of them utilize aspects similar to verbal and written communication. 

Asynchronous transmission utilizes bits for starting and pausing the transmission. If two systems are communicating over a network protocol that employs asynchronous timing, then “start” and “stop” bits are used. The sending system sends a “start” bit, then sends its character, and then sends a “stop” bit. This happens for the whole message. The receiving system knows when a character is starting and stopping; thus, it knows how to interpret each character of the message. It is similar to how we communicate in a written letter – I will insert spaces, commas, full stop, etc. to indicate “start”, “pause” or the “end” of the letter.

Just like when we speak verbally, we do not explicitly say “Pause” or “Stop” or “Start” to indicate the beginning or an end of a conversation, in a similar manner, synchronous transmission does not employ any explicit “start” or “stop” bits to indicate the beginning or the end of any transmission. If two systems are going to communicate using the synchronous transmission technology, they do not use start and stop bits, but the synchronization of the transfer of data takes place through a timing sequence, which is initiated by a clock pulse. So, synchronous communication protocols transfer data as a stream of bits instead of framing them in start and stop bits. The synchronization can happen between two systems using a clocking mechanism, or a signal can be encoded into the data stream to let the receiver synchronize with the sender of the message. This synchronization needs to take place before the first message is sent.

In simple terms, asynchronous transmission is like a communication that happens on the satellite phone where the sender and receiver both say “Over” to indicate that they have sent the message while the synchronous transmission is like a normal communication that is done where our pauses at specific intervals indicate the start and the end of transmission. 

Now, having understood this, a question would pop up in your mind. What is the use of this transmission techniques? In today’s digital age where everything is just data that needs to be sent across, there must be rules that govern this transmission. In addition to the rules, the two systems must agree on a way to receive and process data. Synchronous transmission is utilized where we have a predictable data stream (such as Netflix streaming) while Asynchronous transmission is utilized where an unpredictable amount of data can be sent across (Internet connections, torrent downloads).
Ultimately, it’s all about timing.

And speaking of timing, this is a special article for me, as this is the 75th one. :)

Monday, October 22, 2018

The TCP Handshake

We learned about the TCP protocol in the article “Understanding TCP and UDP.” A brief mention was made in that article on the 3-way handshake process. Before we delve into that further, we must recapitulate about the TCP (Transmission Control Protocol).  TCP is a reliable and connection-oriented protocol, which means it ensures packets are delivered to the destination computer. If a packet is lost during transmission, TCP has the ability to identify this issue and resend the lost or corrupted packet. 

Now, before any data is sent across, handshaking takes place between the two systems that want to communicate. Once the handshaking completes successfully, a virtual connection is set up between the two systems. It’s just like a high profile deal that gets signed. Just like in a deal, both the parties discuss on various parameters such as the financial settlement, payment of outstanding dues, shareholding etc., in a similar manner, the two hosts (systems or computers) must agree on certain parameters, data flow, windowing, error detection, etc. 

The following diagram will help us understand the agreement that takes place between the two hosts.

The host (lovely lady here) that initiates communication sends a synchronous (SYN) packet to the receiver. This means that “Would you be interested in establishing a data connection with me?”
The receiver acknowledges this request by sending a SYN/ACK packet which translates to “Yes, I am interested in taking this conversation further. I have acknowledged your request and sending you the details of how to communicate with me.”

The lady accepts this “SYN+ACK” packet and sends an “ACK” packet which translates to “Ok… I understand the terms and conditions. Let’s begin the conversation.”

After this, the host and the other system starts transmission of data between each other. If all were so good in this world, we would not have to deal with the following problems which arise when the lovely lady turns out not to be so lovely.

The lady here has a change of heart and decides to play a trick on the receiver. What she does is, she withholds the last step of the handshake – “ACK”. Since the 3 way-handshake is not complete, the other system keeps on waiting for that. In the meantime, this lady starts another connection with the server and again withholds the last “ACK” packet. If she does it multiple times, it results in what is called as a “SYN Flood” attack. This is actually flooding the victim system with SYN packets, eventually, the victim system allocates all of its available TCP connection resources and can no longer process new requests.

This is an example of DoS attack – Denial of Service. The victim system will not be able to provide any services to any client as all its resources are locked with one system. 

There is another attack – DDoS attack. This is a distributed denial of service attack. Here the attack is from multiple different systems which leave the handshake open and the result is again the denial of service. To put it in the same example, let’s consider that this lovely lady brings together a lot of her friends and ask them to start the handshake process with the victim and leave it in the middle. This would result in a DDoS attack.

There is one more attack mechanism we need to learn about before we say goodbye to each other.

One of the values that are agreed upon during a TCP handshake between two systems is the sequence numbers that will be inserted into the packet headers. Once the sequence number is agreed upon, if a receiving system receives a packet from the sending system that does not have this predetermined value, it will disregard the packet. This means that an attacker cannot just spoof the address of a sending system to fool a receiving system; the attacker has to spoof the sender’s address and use the correct sequence number values.

If an attacker can correctly predict the TCP sequence numbers that two systems will use, then she can create packets containing those numbers and fool the receiving system into thinking that the packets are coming from the authorized sending system. She can then take over the TCP connection between the two systems, which is referred to as “TCP session hijacking”.

Understanding TCP & UDP

Have you ever wondered what happens behind the scenes when you click a video on your favorite website? Or when you are trying to log onto a secure website? There are multiple protocols that run behind the scenes to help you out and allow you to watch that favorite video of yours or buy that dress which you longed for.

Two such important protocols are TCP ( Transmission Control Protocol) and UDP (User Datagram Protocol). These are one of the two most common protocols used during networking and setting up a secure infrastructure. Multiple services run on the top of this protocol or in simple terms utilize their services. Before we go further and understand the technicalities involved, we must try to learn what happens in simple terms.

Everything we work upon is actually one and zeros only in the computer universe. The data that is sent across from one computer to another is a bunch of ones and zeros flowing from here to there. For the sake of simplicity, we will call this bunch as a packet. Say, when you click on YouTube to watch a video, you actually send a command asking YouTube to send some packets from its computer (or server) to your smartphone. Similarly, when you are logging on to Flipkart and checking out from the cart, you are actually sending packets from your computer to Flipkart’s computer. Easy Peasy, Right? So where do TCP and UDP come into this video watching and flipkarting?

TCP is a connection-oriented protocol while UDP is a connectionless protocol. What does this mean? Connection-oriented means that this protocol will ensure that packets (remember, a bunch of 1s and 0s) will be delivered to the destination computer with a 100% guarantee. Connection less protocol means that it will try its level best to deliver the packets, but may not be 100% sure that the packets actually got delivered. The analogy is similar to a registered post and a normal postal letter. In a registered post (TCP), the letter will be delivered to you in hand, while the normal postal letter (UDP) is thrown at your doorstep. You are lucky if you get it.

If you are paying close attention, I have taken two examples above to drive the point of TCP and UDP. Both the examples (video watching and flipkarting) are one of the applications of UDP and TCP respectively. Let’s understand how. When you watch a video, a lot of data is sent across to your computer. Even if one of the packets out of these thousands of packets gets lost in the transmission, you may not even notice as the overall effect on your video may be extremely minimal. This is where UDP is used. Since UDP is a connectionless, best effort protocol, it is used while playing video where even if you lose a few packets, you will not suffer. Since it is a connectionless protocol, it is easy to implement and requires fewer resources and is faster than TCP. On the other hand, when you are doing a payment on an e-commerce website, no packet loss is acceptable as it may affect the transaction. Hence TCP, a connection-oriented protocol needs to be used. TCP will do a 3-way handshake to establish this connection. In order to set up this connection and deliver your packets with 100% guarantee, TCP requires more resources, however, it makes it more reliable. (We will understand about the 3-way handshake and related attacks in the next article.)

If you are a developer, you must decide which protocol to use while delivering a service. TCP and UDP can be used in conjunction with other services too. Say, you develop an email application – SMTP service. If you wish to ensure that the mail gets delivered with 100% guarantee, you may implement SMTP with TCP.

Let’s extend this discussion to understanding the differences between these protocols. If reliability is a requirement, we will go for TCP, else UDP. Since TCP requires a lot of resources to get implemented, it would be prudent to send small amounts of data which require reliability. If a high volume transaction like a video streaming (Netflix) needs to be done, UDP would be a better choice.

What are your thoughts on this?

Saturday, October 20, 2018

[CyberSecurity Awareness Series] When George Got Whaled

The button clicked. An exact amount of 9,99,000 $ was transferred immediately to an offshore untraceable account. This triggered an alert on the bank’s server. The response team quickly swung into action. Suddenly multiple alerts came rushing in like a raging torrent. Multiple transactions of 9,99,000 $ started popping up on the screen. The response team immediately knew it was under attack and triggered the alarm bell, but by then it was rather too late.  

3 Hours Earlier

It was a quiet afternoon and George was enjoying his cup of coffee. Looking outside his glass window, the view from the 22nd floor was amazing. The bank was doing well and the record quarterly profit cemented his position and power as the top man for the bank. George’s phone chimed. He quickly looked at it and smiled. The smile was palpable. The picture message sent made George bring back the memories of last night.

His smile continued and he logged on to his laptop. Due to the regulatory compliance and a freezing period, all major transactions were on hold. Since the declaration period was over yesterday, George was waiting for the go-ahead from the regulatory committee to lift the ban on high-value transactions. Before we go further, it would be nice to introduce the man here. George, a 37-year-old man with great looks and an MBA from the Ivy League was one of the youngest CEOs of the Elegant Bank Corp. Married to a beautiful wife, George was living a dream. Well, and sometimes, dreams do crash.
The mail came and as per process, George had to log in to the bank’s main server and confirm the process of allowing high-value transaction from the evening. He logged on to the bank’s server remotely using his credentials. He received an alert on his phone that the bank’s server is being accessed now. He had to enter a code on his RSA token and voila, it was done. 

The Investigation

George received a call from the response team alerting him that multiple transactions were happening and it could be an attack. George panicked and for a moment he felt as if a white flash of light crossed his eyes. He gathered himself and tried logging in the bank’s server, but to his shock, he was logged out. He tried logging in again and the message said “Wrong Password”. He called up the response team only to find another shocking news. According to the response team, George had changed his password 2 hours earlier and had updated the access control list too. Only George and Mr. Rishabh, one of the boards of directors could access the bank’s server remotely. 
George immediately called in an emergency meeting of the board of directors. He instructed the response team to take any measures to disable the bank’s servers. He also called in the law enforcement and explained to them about the situation.

Swipe Me In

The law enforcement took complete control of all the devices of the bank and started the forensic investigation. Meanwhile, the media had a field day as the news broke out in the morning that the Elegant bank had been hacked to the tune of 4.5 billion $. Funds transferred to the offshore accounts were untraceable and recovering the money was next to impossible. But what lead to this attack? Who could have cracked the high-level security deployed by the bank? The cyber security team of the bank was carrying out their own internal investigation too. 

George was feeling miserable. He felt as if he had been torn apart. He took his mobile phone and logged onto the app “SwipeIt”. The user “FlowerAngel” was not accessible. That was strange for George. He checked it again, but the app said that the profile was no longer accessible.  George was focused on understanding the problem when the desk phone rang. 

The law enforcement agencies had come to meet George. They asked George to hand over his phone and also showed him the search warrant for his office and his home. The next day a story got published in the national daily which shocked quite a many.

The Night Before

The law enforcement agencies were quick to join the dots from the logs and George’s confession was the final confirmation. George had a terrible habit of meeting strangers through the SwipeIt app and spending the nights with them. You could find people nearby who wanted to enjoy and a person had to just swipe in to confirm that.

The night before, George met “Flower Angel”, a young 19-year-old girl. They instantly hit it off and ended up in the hotel nearby. While George was completely drunk, the girl had to just plug in the flash drive into his laptop. The Trojan installed itself on the laptop and the next day when George logged on to the bank’s server, the Trojan replicated his exact moves and gave complete control to the hacker. While there were other security aspects deployed by the bank to mitigate such threats , the technology alone cannot solve the problem when the password is known and complete admin privilges are available with a person of such a high stature.

This is an example of The Whaling attack. Top people are always on the radar of people having malicious intent. They need to be careful. As a cybersecurity professional, we also need to keep in mind such cases when developing a cybersecurity protection mechanism for the top management personnel. 

What are your thoughts on this?

Saturday, October 6, 2018

Understanding Security Modes - Dedicated , System high, Compartmented , Multilevel

Imagine a system that processes information. This information is classified in nature. When we say, its classified, it means that the information has been labeled according to the data classification scheme finalized by the organization. This scheme can be company specific, such as public, internal and confidential or military/government specific such as Confidential, Top Secret, Secret, Public. As a general user or a security professional, you would want that proper controls to be implemented and the system to be secure that processes such information. Imagine a scenario where such a malicious user tries to access this information. What clearance must this person have? Will he/she have access to all classified levels?

Hey!!, stop imagining. Let’s discuss something else now. Hold on, I know, I had asked you to imagine the scenario above. But answers to all your questions would follow, so keep on reading further. We need to learn and understand a few terms before we are ready to hear the answer to the question and what follows after that.

When you access a system, you are the “subject” and the system which you trying to access is the “object”. This works in this fashion – one who accesses is the subject and the one which is being accessed is the object.  Subjects can have varied levels of control over the system. Say, you are trying to access “”. When you access it, you see a front end interface, new offers etc. If I ask to curate an offer for me, you would not be able to do it, as you do not have access to that particular file/folder/database/application/system. So it should be clear that all systems have some kinds of access controls implemented so that you can access the information that you “need to know”.

There is one more concept that needs to be understood and then we would combine all of them to give you one tasty treat. There are multiple access control models. One of them is the Mandatory Access Control Model. Let’s understand it through an example. Jack Ryan works for the Indian Intelligence agency. To complete his mission, should he choose to accept it, he must have access to files which are classified as “Secret”. Moreover, his next mission is in Afghanistan. Mandatory Access control model helps implement that Jack Ryan can access only “Secret” files and that too only of Afghanistan. How? In MAC, users are given a security clearance (secret, top secret, confidential, and so on), and data is classified in the same way. The clearance and classification data are stored in the security labels, which are bound to the specific subjects and objects. When the system makes a decision about fulfilling a request to access an object, it is based on the clearance of the subject, the classification of the object, and the security policy of the system.

In most systems based upon the MAC model, a user cannot install software, change file permissions, add new users, etc. The system can be used by the user for very focused and specific purposes, and that is it. These systems are usually very specialized and are in place to protected highly classified data.

So how does this all relate to the questions we asked in the beginning. The US government has designated four approved security modes for systems that process classified information. Since these systems process classified information, the mandatory access control model will be the only that would be implemented. Before we understand the four different security modes, it would be better to understand what does “Security Mode” mean.

Security modes refer to information systems security modes of operations used in mandatory access control (MAC) systems. Often, these systems contain information at various levels of security classification. The mode of operation is determined by:
  • The type of users who will be directly or indirectly accessing the system.
  • The type of data, including classification levels, compartments, and categories, that are processed on the system.
  • The type of levels of users, their need to know, and formal access approvals that the users will have.

Saturday, September 15, 2018

SSCP 2018 Exam Changes

With effect from 1st November 2018, (ISC)2 would be doing a domain refresh in the course content of SSCP certification. This is in line with a refresh cycle of 3 years for every certification which (ISC)2 offers.

In this post, we look at changes which will take place in this refresh. We will look at it from a perspective of what will remain the same for an exam giver and what would change.

Question 1. Have the domains changed completely?

No, the weight of the domains has changed. There are minor changes. So if “Security Operations & Administration” had a weight of 17% in the earlier exam (2015), it has been reduced to 15% in the new exam outline.

Question 2. Would the changes affect my already bought course material?

No, the course content broadly remains the same. The course content does not change. Your old books or exam material will remain fully valid. 

Question 3. Is there a change in the exam format too just like CISSP?

Absolutely No. The format remains the same. You will have 125 questions to answer in 3 hours where 100 questions will be graded. 25 questions are research questions, however, from an examination point of view, you’ll not be able to differentiate amongst them. There is no negative marking, hence you must attempt all the questions. You need to secure 700 out of 1000 points to clear the exam.

Question 4. Where can I identify the changes that have been brought in topic wise with respect to various domains?

Here are the exam outlines for your reference: 

Domain Wise Changes are also mentioned here for your assistance:

Domain 1 Access Controls
New Additions:
Federated Access, IAM systems, Subject-based & Object-Based Access Controls.

Domain 2 Security Operations and Administration
New Additions:
Software inventory and licensing, Data Storage, Periodic audit review.

Domain 3 Risk Identification, Monitoring, and Analysis
New Additions:
Risk management frameworks (e.g., ISO, NIST), Remediation validation, Audit finding remediation, Legal and regulatory concerns (e.g., jurisdiction, limitations, privacy).

Domain 4 Incident Response and Recovery
New Additions:
Support incident lifecycle (Preparation, Detection, analysis, and escalation, Containment, Eradication, Recovery, Lessons learned/implementation of new countermeasure)

Domain 5 Cryptography
New Additions:
Web of Trust (WOT) (e.g., PGP, GPG) 
Note – In this domain, some restructuring has taken place. Although the new exam outline shows some topics, they were also present in the older CBK too.

Domain 6 Network and Communications Security
New Additions:
Transmission media types (e.g., fiber, wired, wireless), Network relationships (e.g., peer to peer, client-server), Wireless security devices (e.g., WIPS, WIDS), Bluetooth, 

Domain 7  Systems and Application Security
Removed: Secure Big Data Systems (Application vulnerabilities, Architecture or design vulnerabilities)

Question 5. Has the cost of the exam changed?

No, the cost of the exam remains the same. You need to pay 250USD or equivalent and book the exam through the Pearson Vue Centre only.

Question 6. When will these changes go into effect?

All changes will reflect from 1st November 2018. 

Question  7. Do these updates affect the experience requirement for the SSCP?

No. The changes do not affect the experience requirement. For the SSCP, a candidate is required to have a minimum of one year of cumulative work experience in one or more of the seven domains of the SSCP CBK.

Question 8. Where can I practice exam based questions for the new changes?

I have created two courses for the same. The links to these courses are given below. Please be rest assured that these practice questions have been made considering the new changes that have been brought in. SSCP Mock Exam 2 is also coming in November.

Question 9. Is there a training available with respect to the new course changes?

For official training, you can check the (ISC)2 website. 
I would be uploading the complete training course on Teachable which will reflect all the changes. This training will contain all the new topics and the updated course content. A new tab called the “SSCP Training Course” will be available in November on the website.

Overall, the changes brought in by (ISC)2 do not reflect any major changes as such. Certain topics which have been added reflect the importance which (ISC)2 wants to showcase in certain areas. From a domain perspective too, the weight of “Cryptography” has increased, which makes more sense.

In case you have any more questions regarding the SSCP 2018, feel free to drop in as comments in the comment section below. I will be happy to answer them for you.

Happy Learning.

Tuesday, September 4, 2018

Single Sign On & Kerberos

Imagine Susie wants to log on to a company database, her own system, a web server, her webmail and other multitudes of applications. Since she needs to access so many resources, it is extremely important to have a set of credentials for accessing each of this resource. This means Susie must remember an approximate dozen passwords in order to access these resources. Susie finds a solution to this problem. She writes down every single username and password to access them.

Clearly, Susie is not alone in doing so. You may also be doing the same. Clearly, from an information security point of view, this is not a great solution. It may sound that different ids and passwords would provide more security, it ultimately ends up in more work for the administrator since there are more requests of password reset or greater chances of a breach if that notebook gets in the wrong hands.

So what needs to be done? Well, as usual, the intelligent minds gathered together and found a solution to this problem. They called it the Single Sign-On. You can call this a double-edged sword too. Why? We’ll learn about it a minute. 

Single Sign-On allows a user to enter credentials one time and be able to access all resources in primary and secondary network domains. This reduces the amount of time users spend authenticating to resources and enables the administrator to streamline user accounts and better control access rights. It improves security by reducing the probability that users will write down passwords and also reduces the administrator’s time spent on adding and removing user accounts and modifying access permissions. If an administrator needs to disable or suspend a specific account, he can do it uniformly instead of having to alter configurations on each and every platform.

This sounds really great as it solves all of our problems. Just one username and password and the world is yours, (Now that’s a lot), the resources are yours. 

Wish, life could be so simple. Single Sign-On (SSO) operates on an assumption that all platforms support the credentials in the same manner and will talk to each other, which is extremely rare, given the multitude of platforms and technologies which companies employ. Remember, the double edge sword mentioned earlier. It is simply that if you leak that one super powerful username and password to Thanos, you will see your resources vanishing like the Avengers.

So simply speaking, SSO technology allows you to access multiple resources through a single username and password. You enter the credentials and voila, you have everything you are authorized to access. It does help Susie as she doesn’t need to remember multiple passwords. She can keep one complex passphrase which is easy to remember, yet is extremely complex. 

One of the most commonly used SSO technology is Kerberos. 

If you have seen Harry Potter, you may remember the three-headed dog that was guarding the philosopher’s stone. The photo below may refresh your memory. Confused, as to why a three-headed dog related to SSO here? Kerberos is the name of a three-headed dog that guards the entrance to the underworld in Greek mythology. This is a great name for a security technology that provides authentication functionality, with the purpose of protecting a company’s assets.

So let’s understand everything about Kerberos but in a very simple manner. 

Kerberos is an example of a single sign-on system for distributed environments and is a de facto standard for heterogeneous networks.  Kerberos is like a family in which there are multiple family members and each has a role to play. Let’s hear the names of all these members with their introduction.

Key Distribution Centre – He is just like the father who is having all the money. The Key Distribution Center (KDC) is the most important component within a Kerberos environment. The KDC holds all users’ and services’ secret keys. It provides an authentication service, as well as key distribution functionality. The clients and services trust the integrity of the KDC, and this trust is the foundation of Kerberos security.

The father has a helping hand known as the TGS – ticket-granting service (the mother) which generates the ticket.

Principal – They are the users or the applications which ask for services from the KDC. You can think of them as the kids in the family. They have new requests every day for the father. (KDC). Let’s say, Cathy is one of the kids and requests for a chocolate from the father. So here, Cathy is the principal and the father will act like the KDC.

Hopefully, you understood the analogy. 

Now let’s take up a real situation to help out things into perspective.  This is how the Kerberos process would take place.

1. Cathy comes to Evil Corp to complete her assignment. She logs into her system by providing her credentials.

2. Her request goes to the Kerberos software in her system.

3. This software sends her request to the KDC (remember, KDC is the one which has all the secret keys).

4. KDC sends back Cathy a ticket (not to Europe for holiday !!), which is encrypted with her password.

5. If Cathy entered the right password, then the ticket would be decrypted. Understand it in this manner, if Cathy entered the right password in the beginning, her ticket which is received from the KDC would be valid, if not, then it would be an invalid ticket.

6. Now Evil Corp is in the business of selling user’s information on the black market. 

7. Cathy wants to access this database where all such illegal information is stored. 

8. In order to access this information, Cathy sends a request to access to this database server.

9. Cathy’s system sends a request to this database server, her system sends the TGT to the ticket-granting service (TGS), which runs on the KDC, and a request to access the database server.

10. Why is everyone sending each other tickets? I know. This is because of the trust factor. KDC is one whom everyone trusts. So everyone sends his/her requests to the KDC so that KDC can confirm to everyone whether this is an authorized entity requesting access or not.

11. The TGS creates and sends a second ticket to Cathy, which she will use to authenticate to the database server.

12. What does the second ticket contain? This second ticket contains two instances of the same session key, one encrypted with Cathy’s secret key and the other encrypted with the database server’s secret key.

13. Cathy’s system sends this second ticket to the database server for authentication. 

14. When the database server receives this second ticket, it verifies this by decrypting it. 

15. If it successfully decrypts it, this means it is a valid request. Post this validation, Cathy will get this access to the database server.

This is an extremely simplistic overview of what is going on in any Kerberos exchange, but it gives you an idea of the dance taking place behind the scenes whenever you interact with any network service in an environment that uses Kerberos.

What are your thoughts on this? Share your thoughts in the comments section below.

Monday, August 20, 2018

Copyright, Trademark, Patent, or License? Understanding the Differences

Copyrights, trademarks, patents, and licenses are each a different form of intellectual property (IP) rights protection recognized by U.S. law. The distinctions among them can be subtle and often the same product or service may involve more than one of these IP rights. How can you tell them apart when deciding how to protect your company’s assets? Here’s how.


Copyright protects the rights of “authors” in their original creative works. Copyrightable works include artistic creations, like novels, paintings, films, and songs, but also business-related works like software code, website designs, architectural drawings, marketing reports, and product manuals.
The author of a copyrighted work has the exclusive right to:
  • Reproduce (print or copy), publish, perform, display, film and/or record the creative content.
  • Create derivative works from the original work (for example, updates, revisions, summaries, translations, and adaptations).

Copyright protection arises automatically at the time the work is fixed in tangible form, either directly or through use of a machine, like a computer or a movie projector. Copyrights have a term equal to the life of the author plus 70 years. If a company is the owner of the copyright, it has a term equal to 95 years after the date the work is first made public.

Copyrighted works can be registered with the U.S. Copyright Office. Registration is optional but highly recommended. Registration provides legal benefits to the author, including the ability to enforce the copyright against infringers in court. Copyrighted works (registered and unregistered) can display the © symbol to provide notice that the author considers the work to be protected by copyright.


trademark is a symbol, word, slogan, design, color, or logo that identifies the source of a product or service, and distinguishes it from those made or provided by others. Trademarks can represent:
  • The product or service itself (ex. iPhone)
  • A feature or element of the product or service (ex. FaceTime)
  • The manufacturer or provider of the product or service (ex. Apple).
A “service mark” is a trademark that identifies a service instead of a tangible product.
The owner of a trademark has the right to prevent infringers from unfairly competing with the owner by using marks that are “confusingly similar.” In the United States, trademark rights can arise in two ways:
  • Automatically by use of the trademark in the marketplace in connection with a product or service (“common law” or unregistered trademarks).
  • By registration of the trademark with the U.S. Patent and Trademark Office (PTO) (“registered” trademarks).

Although not required by law, registering a trademark with the PTO confers many benefits on the trademark owner. For example, a U.S. trademark registration gives the owner nationwide rights to use the mark in connection with the goods and services included in the registration. Common law trademarks only create rights in the specific geographic territories where the owner is actually using it.

Common law trademarks can be used with the ℠ or ™ symbols. Registered trademarks can be used with the ® symbol. Both types of trademarks are valid so long as your business continues to use them. However, registered trademarks must be renewed periodically with the PTO.


Patents protect the rights of inventors. A patent is a 20-year exclusive property right granted by the PTO for an invention. 
A patent entitles you to exclude others from making, using or selling your invention. Once your patent is issued, you have an obligation to enforce it against unauthorized third parties violating your rights. If you don’t, a court can declare your patent “abandoned” and unenforceable.
Most patents are utility patents that protect “any new and useful process, machine, article of manufacture, or composition of matter, or any new and useful improvement thereof.” To obtain a utility patent, you will need to prove to the PTO, through claims in your patent application, that your invention is useful, novel and non-obvious. Other types of patents often sought by businesses include:
  • Design patents, which concern “new, original, and ornamental design embodied in or applied to an article of manufacture” not affecting the article’s function;
  • Business method patents, which protect new methods of doing business, such as those used in banking, tax compliance and e-commerce, for example; and
  • Plant patents, which protect invented or discovered asexually reproduced plants that are new and distinct.

Licenses are contracts that transfer IP rights from the owner of the rights (the Licensor) to a third party who wants to use them (the Licensee). They can be exclusive (rights are granted to only one Licensee) or non-exclusive (rights are granted to multiple Licensees). A Licensee typically pays the Licensor a royalty in exchange for the right to use the IP rights. Royalties are usually based on a percentage of the revenue the Licensee generates from the sale of products using the licensed IP rights.
Licenses can be valuable assets for your business. For the Licensor, licenses can generate a significant revenue stream from royalty payments. For the Licensee, licenses can enable it to sell superior products in the marketplace.

Sunday, August 5, 2018

Access Control Models - DAC, MAC, RBAC , Rule Based & ABAC

Identity and Access Management is an extremely vital part of information security. An access control model is a framework which helps to manage the identity and the access management in the organization. There are 5 main types of access control models: discretionary, rule-based, role-based, attribute-based and mandatory access control model. Every model uses different methods to control how subjects access objects. While one may focus on rules, the other focus on roles of the subject. As a security professional, we must know all about these different access control models. While one company may choose to implement one of these models depending on their culture, there is no rule book which says that you cannot implement multiple models in your organization.

These models are built into the core or the kernel of the different operating systems and possibly their supporting applications. Every operating system has a security kernel that enforces a reference monitor concept, which differs depending on the type of access control model embedded into the system. For every access attempt, before a subject can communicate with an object, the security kernel reviews the rules of the access control model to determine whether the request is allowed.

So let’s understand what do these models have to say about themselves:

1. Discretionary Access Control Model

If you have used any platform such as Windows, Mac or Linux, you can easily understand and appreciate this model. If you create a folder in any of these, you can easily add/delete/modify the permissions which you want to give to different subjects. Sounds confusing? Well, it isn’t. Let’s take an example to understand this.


I have created a folder named “SSCP Video Course”. Now since I’m the owner, it is my discretion to assign various permissions for users. I can go to the”Security” Tab and “Edit” permissions and define what users need to be given “Full control” or which users can only be given “Read” Access.
A system that uses discretionary access control (DAC) enables the owner of the resource to specify which subjects can access specific resources. This model is called discretionary because the control of access is based on the discretion of the owner.

There is another term which is used quite often with reference to the models. It is the Access Control List. An ACL for a file would list all the users and/or groups that are authorized access to the file and the specific access granted to each.

While all seems good in the world of DAC, there are some issues with this model. While this model offers the best flexibility amongst any of the model, it is also its weakest point. For example, if a user opens an attachment that is infected with a virus, the code can install itself in the background without the user being aware of this activity. This code basically inherits all the rights and permissions that the user has and can carry out all the activities a user can perform on the system. It can send copies of itself out to all the contacts listed in the user’s e-mail client, install a back door, attack other systems, delete files on the hard drive, and more. The user is actually giving rights to the virus to carry out its dirty deeds, because the user has very powerful discretionary rights and is considered the owner of many objects on the system. And the fact that many users are assigned local administrator or root accounts means that once malware is installed, it can do anything on a system.

2. Mandatory Access Control (MAC) Model

Do not confuse this with Apple MAC, this model is not even remotely related to it. This model is the complete opposite of the DAC model.  In a mandatory access control (MAC) model, users do not have the discretion of determining who can access objects as in a DAC model. An operating system that is based on a MAC model greatly reduces the number of rights, permissions, and functionality a user has for security purposes.

Thursday, July 19, 2018

Understanding the GDPR: General Data Protection Regulation

The GDPR–or General Data Protection Regulation–is a regulation passed by the European Union on April 27, 2016, with an effective start date of May 25, 2018. Officially classified as regulation 2016/679, the GDPR expands upon and replaces the Data Protection Directive 95/46/EC of 1995. It serves as the EU’s effort to synchronize and harmonize laws on citizen and resident data privacy throughout its member states.

GDPR is based on Privacy by Design/Default, a set of user-centric principles that bequeath a sacred status to user privacy from the get-go rather than as an afterthought. Piggybacking on that is the ability of users to sue organizations under the GDPR who might mishandle personal data. To accomplish this, the GDPR mandates new user-oriented information-handling processes to which EU companies will soon find themselves beholden, not to mention subject to significant penalties in the event of a violation.

The complete text of the GDPR legislation clocks in at 88 pages. There exist within it 173 recitals and 99 articles, each one applying universally to all EU member states. The key provisions of this sweeping legislation are provided below and constitute the essence of what the law entails and how it affects data storage and retrieval for all related EU entities.

Who the Law Protects

There is a slight bit of confusion when it comes to just who falls under the protective auspices of the GDPR measure. The term “natural person” appears frequently throughout the text, and while this indeed refers to EU citizens, it actually extends further to those merely residing in the EU.

To wit, a natural person in EU nomenclature is any human possessing “legal personality”. That’s a very law-like definition that essentially boils down to a person who acts on their own behalf rather than in the interests of a business entity (sometimes known as a “legal entity”) or a government entity (or “public entity”).

To simplify matters, all humans native to or residing inside the EU with data to protect are blanketed under the term “data subject”. The rights of these data subjects to control and even extensively delete their private data are at the heart of the GDPR.

How GDPR Defines Personal Data

The GDPR defines personal data quite simply: Information (“data”) that can be used to identify a natural person (“data subject”). This seems self-evident on its surface, and indeed, certain identity-related elements fall naturally within this definition, such as name, ID number, home address, and more. But in the current era of sophisticated online data tracking technology, the amount of transmittable, personally identifiable data has ballooned (at least in the EU’s opinion), and with it, the number of privacy touch points potentially available to corporate and government bodies.

This massive list includes, but is not limited to, online identifiers such as IP addresses, social media accounts, email addresses, accounts numbers, browser cookies, and more. Constituent to this is direct identifiers and indirect identifiers, both of which establish the data subject’s identity by degrees. For instance, a direct identifier is a name, ID number, home address, and so on. Indirect identifiers include the date of birth, location, or even title, and while they don’t pinpoint data subjects directly, they can nevertheless unmask a person’s identity when used in concert.

Wednesday, July 18, 2018

Launch of Systems Security Certified Practitioner Practice Questions

Dear Readers,

I'm happy to announce that my first course is live now on Udemy. There are 200+ practice questions for the Systems Security Certified Practitioner certification offered by (ISC)2 which are now available for you to practice. These questions have been created to capture the actual difficulty of the real exam. All the domains of the SSCP certification have been covered.

The course is divided into 6 practice tests. The first 4 tests are focussed on domain-specific questions while the 5th test is focussed on mixed questions. Part 6 is a bonus bonanza for the exam takers where again certain specific questions have been asked.

More questions will be added soon in the exam. Check out this blog (sidebar) for discounted coupon codes for the exam.

CISSP practice tests are also on their way on Udemy.

Happy Learning.

Sunday, July 8, 2018

Access Control and Mark Up Languages

Just like humans use language to talk to each other, we use languages to talk to computers as well. From an identity management and access control purposes, we are going to learn about some specific languages, but before that, it is important to understand the basics.

Today, if you visit a website, you see different kinds of animations, text floating around, advertisements which are interactive, customs views etc. How does this happen? This happens through markup languages and of course some background coding. What is a markup language then?  A markup language is a way to structure text and data sets, and it dictates how these will be viewed and used. When you adjust margins and other formatting capabilities in a word processor, you are marking up the text in the word processor’s markup language. If you develop a web page, you are using some type of markup language.

One such language which you would have heard about is the HTML (Hypertext Markup language). HTML came from Standard Generalized Markup Language (SGML), which came from the Generalized Markup Language (GML).

If you design a web page today, there are multiple such languages to choose from. The markup language allows you to structure your web page and you can control how it looks and some of the actual functionality the page provides. The use of a standard markup language also allows for interoperability. Following basic markup language standards will help you design a page that looks exactly the same on any platform.

Now, you can say, that I would use a particular language to design a webpage or a particular company can choose to adopt a proprietary language of its own. You can appreciate the chaos it would make by considering that if everyone on this earth decided to speak his/her own language, what would happen?

So to make things standardized, intelligent minds came up with a solution. The answer was XML. XML is a universal and foundational standard that provides a structure for other independent markup languages to be built from and still allow for interoperability. Markup languages with various functionalities were built from XML, and while each language provides its own individual functionality, if they all follow the core rules of XML then they are interoperable and can be used across different web-based applications and platforms.

Sounds confusing? so let’s understand this through a simple example. Let’s consider the English language. Mayur is a cybersecurity analyst, John is a zoologist and Karina is a chef. We all can speak to each other using the basic English communication rules. The basic grammatical and sentence building rules will remain the same. However, each of these individuals can use this common language to talk in terms which they can better understand. So while Mayur can have some terms such as firewall, cryptographic controls, mandatory access control, John would use the terms such as carnivorous, mammals and Karina would be using the words such as roasting, poached egg, simmering etc. Each profession has its own “language” to meet its own needs, but each is based on the same core language—English.

In a similar manner, the world wide web also uses a common language such as XML and then each profession can build a new language based on this language to cater to their specific needs.

Now, I’m into the field of cybersecurity and I would like to tweak some languages to help me out with identity and access management. So what should I do?

Well, the intelligent minds before us came together and developed some languages for you which we are going to learn about.

The first one is - Service Provisioning Markup Language (SPML) that allows for the exchange of provisioning data between applications, which could reside in one organization or many.

Consider, John has joined the company IloveITSolutions as a security specialist. An account needs to be created for him, where he would have access to multiple servers, accounts and what not. The language which comes to the rescue of the administrator is the SPML. SPML allows for the automation of user management (account creation, amendments, revocation) and access entitlement configuration related to electronically published services across multiple provisioning systems. This markup language allows for the integration and interoperation of service provisioning requests across various platforms.

It is easy to say that SPML will do all the work. But we must understand how does it do that? SPML is made up of three main entities: The Requesting Authority (RA), which is the entity that is making the request to set up a new account or make changes to an existing account; the Provisioning Service Provider (PSP), which is the software that responds to the account requests; and the Provisioning Service Target (PST), which is the entity that carries out the provisioning activities on the requested system.

When John joins the company, the RA is asked to get to work. The RA creates SPML messages, which provide the requirements of the new account. Whom does it send these requests to? The PSP. This piece of software reviews the requests and compares them to the organization’s approved account creation criteria. If these requests are allowed, the PSP sends new SPML messages to the end systems (PST) that the user actually needs to access. Software on the PST sets up the requested accounts and configures the necessary access rights.

[Sponsored ]Key Features to Look for in a Salesforce Cisco Integration

Investing in a robust CRM like Salesforce is one of the best decisions a business can make. These days where customer experience drives business success, leverage technology like Salesforce indicates a commitment to delivering great service and contributing meaningfully to the success of your customers. Salesforce has allowed companies to build tech stacks that truly work for their teams. For client-facing teams, a reliable CTI like Salesforce-Cisco integration is indispensable.

Computer Telephony Integration or CTI allows teams to connect CRMs like Salesforce to their phone systems. Today, millions of users rely on Salesforce and Cisco, as these solutions are both reliable and time-tested. Integrating the two allows teams to get the most out of each one. Contact centers, helpdesks, sales floors, and customer service reps benefit from CTI solutions directly through features that they use in their daily workflows.

When searching for a Salesforce Cisco integration provider, make sure they deliver these key features:


Click-to-dial transforms phone numbers within Salesforce and your internet browser into links that go straight into a call when clicked. This web-to-phone feature makes the calling process seamless, doing away with having to manually dial on your deskphone and on-screen softphone.

For teams that deal with high call volumes day in and out, the click-to-dial feature delivers big savings in the form of shaved seconds that easily translate to hours per team per day. Click-to-dial directly affects the bottomline and influences important business activities like workforce management and resource planning.


Screenpops are a key feature of an effective Salesforce Cisco integration. Screenpops are on-screen pop-ups that deliver customer records instantly when you make an outbound or inbound call. Some CTI solutions only offer screenpops that show recorded customer data in a uniform manner. It’s best to choose a CTI solution that displays role-based customer records. For example, a service rep would need different data compared to a sales agent. Role-based customer data display from screenpops level-up the benefits teams can get out of their integrations.

Call notes, call dispositions

Still part of the screenpop, a key feature you must look for in a CTI solution is the ability to take notes right on the pop-up. Some providers only allow you to view records and will bring the rep or agent to the CRM interface if they want to make changes to the record. Best-in-class CTI solutions provide teams the option to change call dispositions, take notes, and create tasks right on the screen pop. Any client-facing team will benefit from the saved time and smoother workflow of this feature.

Task creation through natural language processing

Task creation right on the screenpop saves a lot of time especially for big teams. A way to amplify this benefit is through natural language processing. Natural language processing or NLP uses machine learning to “read” a user’s notes and creates tasks and calendar entries based on them.

Team collaboration features

Integrating Salesforce and Cisco also makes team collaboration easier for sales, support, and service teams, especially when their chosen CTI solution provides features that foster teamwork. The @mention feature makes it easier for reps to quickly assign or notify teammates about call updates or any pending action items that need to be done.

Automatic call logging

Your CTI should help you get the most out of Salesforce. Automatic call logging should is a basic but crucial feature that CTI providers should be able to deliver. When a user takes notes and wraps up a call on the screenpop, this feature automatically logs the updates on the CRM, saving time that used to go to manually entering call updates, setting dispositions, and assigning tasks to teammates. Automatic call logging ensures that organizations are on the same page across different departments.

Local presence dialing

Another key Salesforce Cisco integration feature that’s extra important for sales teams is local presence dialing. Local presence allows sales teams to show a local area code on the caller ID of the person they’re calling. This improves pick up and connect rates for outbound calling teams.

Call reporting and analytics

Any business would benefit from the constant improvement of their teams that are in constant contact with their prospects and customers. Today, organizations are committed to making data-driven decisions when it comes to implementing changes and solutions to improve the results they’re getting no matter the department. A key feature you’d have to look for in a Salesforce-Cisco integration is the ability to support your data-driven efforts.

With high volume calling, managers are unable to monitor each call, leaving teams in the dark when they don’t have a data capture solution in place. CTI solutions should be able to provide features that allow management activities like call monitoring, call recording, call transcription, and data-rich call activity records.

With call reporting and call analytics features, organizations can use the gathered and visually-presented data to categorically measure the performance of their teams, craft targeted solutions to their unique challenges, and track important customer experience metrics.
From customer service call centers to sales floors, these key CTI features ensure that businesses are able to maintain and gain competitive advantage through technology that allows them to deliver great customer experience

Note: This article is published on this blog in collaboration with Tenfold. For any queries/concerns, you can connect with the team at