SKF and Newly Introduced Mobile Section
I have recently contributed a cool, community driven open source project and I would like to give you a brief introduction about it.
Security Knowledge Framework (SKF) is an OWASP project which is leaded by Glenn Ten Cate and it is getting better with helps of 50+ contributors.
The OWASP Security Knowledge Framework is an open source web application that explains secure coding principles in multiple programming languages. The goal of OWASP-SKF is to help you learn and integrate security by design in your software development and build applications that are secure by design. OWASP-SKF does this through manageable software development projects with checklists (using OWASP-ASVS/OWASP-MASVS or custom security checklists) and labs to practice security verification (using SKF-Labs, OWASP Juice-shop, and best practice code examples from SKF and the OWASP-Cheatsheets).
SKF is a well-known security source for researcher, developers, students, auditors, etc and last year I have worked to build up a new section for mobile security. You may already know, SKF has many great sources for web related attacks, and now it also covers mobile security as well.
Before I start, I would like to mention personally what I like about SKF:
SKF Installation
If you want to install it to your environment, you can follow instructions from official GitHub page:
And also you can test it online:
You may just click 'Skip Login' to access page content.
SKF Mobile Part
SKF Mobile part is dedicated to mobile security controls and mostly based on two other great OWASP projects:
You may already know, MASVS is giving an overview about security requirements, and it is a little bit more theoretical. On the other hand, MSTG is more practical, and it shows how to control and test issues.
You can reach mobile security items from ‘Checklists’ or ‘Knowledgebase’ links.
Two different links representation of two different approaches. The former one shows chapter view and the latter one shows security controls itself directly.
Mobile Questionaries
‘Questionaries’ is a set of questions, and you need to answer them to find out which MASVS items you should focus on for your project. That means, you can tailor your security scope instead of focusing everything. For example, you are a mobile developer, and your application does not keep any sensitive data on the client side. Therefore, you don’t need to deal with client-side sensitive data requirements, if you pick ‘No’ for ‘Does your application keep sensitive data on the client side?’ question. The result will only show related items within your scope and ignore the rest.
An Example Case
Let’s dig up this part and work on a test case step by step. We will create a scenario, answers questionaries and review each step.
Let's say, we have a mobile chat application with following features:
Recommended by LinkedIn
After this definition, let's start to find out which MASVS security controls we need in terms of data storage and privacy requirements.
Accessing URL:
Step 1: we need to pick which platform we will work on: Web, Mobile or even we can create our own custom checklists.
Step 2: MASVS classifies 3 different maturity levels:
Higher levels always cover lower ones. For example, if you pick ‘Level 2’ for your project, it will bring 'Level 1' and 'Level 2' related items together and you will not see anything from 'Level 3'.
Step 3: MASVS consist of 8 main categories and 80+ security items. For this example, we will pick ‘Data Storage and Privacy Requirements’. Each category has different question sets and different security requirements.
Step 4: after category selection, now we should answer some questions. This will filter MASVS and bring up only items which are related with our need.
Step 5: We give a name to our ‘Sprint’ and click ‘Next’.
Step 6: and click ‘Submit’.
We could successfully save our 'Sprint' and ready to see its result.
When we click 'view' link, it shows we should only focus on only 5 items from ‘Data Storage and Privacy Requirements’ chapter. The result depends on our answers and that defines our security scope.
You may also notice, there are 2 different icons before items. The yellow one represents 'Level 1' and the green one is for 'Level 2'. As you see, maturity level selection directly effects our results.
That is all. Now we know which security items should be in our scope.
It was just a brief introduction for mobile section of SKF. I have tried to give you an overview and I hope you liked it : )
Thank you for reading.
AE | Cyclist | Father | Aspiring Sales Leader
3yFantastic work, congratulations!
ING Security Chapter leader / The Linux Foundation Security Instructor
3yVolkan Dindar First of all thank you for this amazing contribution to the SKF project! It was a pleasure working with you and you did an amazing job implementing the OWASP-MASVS project in SKF. Also all the knowledge base items you created and the questionnaire in SKF was spot on! Also I think it is very useful the page you created to showcase how Mobile developers can utilise the work you have added in SKF and enabling them to build secure mobile applications. Again many thanks and great job, we really appreciate it!