Sunday, January 28, 2024

How To Secure Your Home Against "Internet Of Things" And FUD

TL;DR, most of the security news about IoT is full of FUD. Always put the risks in context - who can exploit this and what can the attacker do with it. Most story only covers the latter.

Introduction

There is rarely a day without news that another "Internet of Things" got hacked. "Smart" safes, "smart" rifles, "smart" cars, "smart" fridges, "smart" TVs, "smart" alarm systems, "smart" meters, "smart" bulbs, NAS devices, routers. These devices are getting hacked every day. Because most of these devices were never designed with security as a goal, and some of them have been never tested by security professionals, it is no surprise that these things are full of vulnerabilities.





Independent security researchers find these vulnerabilities, write a cool blog post or give a presentation about the vulnerability and the exploit, and the media forgets the constraints just for the sake of more clicks. "We are all doomed" we can read in the news, but sometimes the risks are buried deeply in technical jargon. Please note I blame the news sites here, not the researchers.

http://www.slideshare.net/danielmiessler/iot-attack-surfaces-defcon-2015

There are huge differences between the following risks:

  • Attackers can directly communicate with the router (or camera) from the Internet without authentication and exploit the vulnerability. This is the worst-case scenario. For example, an automated ransomware attack against your NAS is pretty bad.
  • Attackers have to position themselves in the same WAN network (e.g. Sprint mobile network in the case of Jeep hacking) to exploit the vulnerability. This is still pretty bad.
  • The vulnerable code can not be triggered directly from the Internet, but tricks like CSRF can be used to exploit it (details later in this post). 
  • The vulnerable code can not be triggered directly from the Internet, and it uses a protocol/port which prevents Cross Protocol Scripting. Attackers have to access the local network before exploiting this vulnerability.
As it is the case with the worst scenario, one can find a lot of devices connected to the internet. You can always find funny stuff at http://explorer.shodanhq.com/#/explore , or use the nmap screenshot script to find your own stuff :)


Network exposure

Most devices are behind an IPv4 NAT device (e.g. home router), thus can not be reached from the Internet side by default. Except when the device configures the firewall via UPNP. Or the device has a persistence cloud connection, and the cloud can send commands to the device. Or the device uses IPv6 tunneling (e.g. Teredo), thus it is reachable from the Internet. But not every vulnerability on your home network is accessible directly from the Internet. As more and more devices and networks will support IPv6, this scenario might change, but I hope most home routers will come with a default deny configuration in their IPv6 firewall module. On the other hand, scanning for IPv6 devices blindly is not feasible due to the large number of IPv6 addresses, but some tricks might work. 

If attackers can not access the device directly, there is a way to hack it through the user's browser. Just convince the victim user to visit a website, and via CSRF (Cross Site Request Forgery) and brute-forcing the device IP, it is possible to hack some devices (mostly through HTTP - if the exploit can fit into simple GET or POST commands.

If attackers can not attack the device vulnerability through the Internet directly, or via CSRF, but have connected to the same network - the network exposure shrinks significantly. And when attackers are on the same network as you, I bet you have bigger problems than the security of the IoT devices ...

Recommendations for home users

Don't buy **** you don't need

Disconnect from the power cord the IoT devices you don't need to operate 7*24. 

Disable cloud connectivity if it is not necessary. For example, I have a NAS device that can be reached through the "cloud", but I have disabled it by not configuring any default gateway for the device. I prefer connecting to my network via VPN and reach all my stuff through that.

Prevent CSRF attacks. I use two tricks. Don't use the 192.168.0.x - 192.168.10.x network at-home - use an uncommon IP range instead (e.g. 192.168.156.x is better). The second trick is I configured my Adblock plugin in my primary browser to block access to my internal network. And I use another browser whenever I want to access my internal devices. Update: On Firefox you can use NoScript ABE to block access to internal resources.


Check your router configuration:

  • disable UPnP
  • check the firewall settings and disable unnecessary port forwards
  • check for IPv6 settings, and configure the firewall as default deny for incoming IPv6 TCP/UDP.

Change default passwords, especially for services connected to the Internet. Follow password best practices.

Run Nmap to locate new IoT in your home network :) 

Run a WiFi scan to locate new WiFi access points. Let me share a personal experience with you. I moved to a new house and brought my own WiFi router with me. I plugged it in, and forget about WiFi. Months later it turned out I had two other WiFi devices in my house - the cable modem had its own integrated WiFi with default passwords printed on the bottom, and the Set-top-box was the same - default WiFi passwords printed on the bottom. And don't forget to scan for ZigBee, Bluetooth, IrDA, FM, ...

Update your devices - in case you have a lot of free time in your hand.

Don't allow your guests to connect to your home network. Set up a separated AP for them. Imagine your nephew stealing your private photos or videos from your NAS or DNLA server.

With great power, comes great responsibility. The less device you own in your house, the less time you need to maintain those.

Read the manuals of your devices. Be aware of the different interfaces. Configure it in a secure way.

Disable Teredo protocol in case you don't need IPv6.

Stop being amazed by junk hacking.

Update: Disable WebRTC: https://www.browserleaks.com/webrtc , in Chrome you can use this extension: https://chrome.google.com/webstore/detail/webrtc-network-limiter/npeicpdbkakmehahjeeohfdhnlpdklia

Update: Prevent against DNS rebind attacks via configuring a DNS server which can block internal IP addresses. OpenDNS can block internal IP, but this is not a default option, you have to configure it.

Recommendations for vendors

For vendors, I recommend at least the followings:

  • Implement security during Software Development LifeCycle
  • Continuous security testing and bug bounties
  • Seamless auto-update
  • Opt-in cloud connectivity

Recommendations for journalists

Stop FUD. Pretty please.

The questions to ask before losing your head

  • who can exploit the vulnerability?
  • what prerequisites do we have about the attack to successfully exploit the vulnerability? Is the attacker already in your home network? If yes, you have probably bigger problems.
  • what can the attacker do when the exploit is successful?

And last but not least, don't forget that in the case of IoT devices, sometimes users are the product, not the customer. IoT is about collecting data for marketing purposes.


Related word

Saturday, January 27, 2024

ALPACA: Application Layer Protocol Confusion-Analyzing And Mitigating Cracks In TLS Authentication

In cooperation with the university Paderborn and Münster University of Applied Sciences, we discovered a new flaw in the specification of TLS. The vulnerability is called ALPACA and exploits a weakness in the authentication of TLS for cross-protocol attacks. The attack allows an attacker to steal cookies or perform cross-site-scripting (XSS) if the specific conditions for the attack are met.

TLS is an internet standard to secure the communication between servers and clients on the internet, for example that of web servers, FTP servers, and Email servers. This is possible because TLS was designed to be application layer independent, which allows its use in many diverse communication protocols.

ALPACA is an application layer protocol content confusion attack, exploiting TLS servers implementing different protocols but using compatible certificates, such as multi-domain or wildcard certificates. Attackers can redirect traffic from one subdomain to another, resulting in a valid TLS session. This breaks the authentication of TLS and cross-protocol attacks may be possible where the behavior of one protocol service may compromise the other at the application layer.

We investigate cross-protocol attacks on TLS in general and conducted a systematic case study on web servers, redirecting HTTPS requests from a victim's web browser to SMTP, IMAP, POP3, and FTP servers. We show that in realistic scenarios, the attacker can extract session cookies and other private user data or execute arbitrary JavaScript in the context of the vulnerable web server, therefore bypassing TLS and web application security.

We evaluated the real-world attack surface of web browsers and widely-deployed Email and FTP servers in lab experiments and with internet-wide scans. We find that 1.​4M web servers are generally vulnerable to cross-protocol attacks, i.e., TLS application data confusion is possible. Of these, 114k web servers can be attacked using an exploitable application server. As a countermeasure, we propose the use of the Application Layer Protocol Negotiation (ALPN) and Server Name Indication (SNI) extensions in TLS to prevent these and other cross-protocol attacks.

Although this vulnerability is very situational and can be challenging to exploit, there are some configurations that are exploitable even by a pure web attacker. Furthermore, we could only analyze a limited number of protocols, and other attack scenarios may exist. Thus, we advise that administrators review their deployments and that application developers (client and server) implement countermeasures proactively for all protocols.

More information on ALPACA can be found on the website https://alpaca-attack.com/.

More info


  1. Hack Tool Apk
  2. Pentest Tools Website Vulnerability
  3. Easy Hack Tools
  4. Hacker Tools Online
  5. Pentest Tools Port Scanner
  6. Hack Tools 2019
  7. Underground Hacker Sites
  8. Hacker
  9. Pentest Tools Url Fuzzer
  10. Hackrf Tools
  11. Pentest Tools Subdomain
  12. Hack Tools For Games
  13. Hacker Tools For Pc
  14. Tools For Hacker
  15. Hacking Tools Free Download
  16. Hacking Tools
  17. Hacker Tools Apk
  18. Hack Tools Mac
  19. Install Pentest Tools Ubuntu
  20. Pentest Tools Download
  21. Computer Hacker
  22. Hacking Apps
  23. Pentest Tools Website Vulnerability
  24. Pentest Box Tools Download
  25. Pentest Tools Kali Linux
  26. Hacking Tools
  27. Pentest Tools Linux
  28. Growth Hacker Tools
  29. Hack Tools Mac
  30. Pentest Tools Website Vulnerability
  31. Kik Hack Tools
  32. Hacker Tools For Windows
  33. Hack App
  34. Bluetooth Hacking Tools Kali
  35. Physical Pentest Tools
  36. Pentest Tools Review
  37. Hacking Tools For Pc
  38. Hack Tools Mac
  39. Hack Tools For Mac
  40. Pentest Recon Tools
  41. Install Pentest Tools Ubuntu
  42. Hack Tools
  43. Hacker Search Tools
  44. Nsa Hack Tools
  45. Pentest Recon Tools
  46. Best Hacking Tools 2019
  47. Hacker
  48. How To Make Hacking Tools
  49. Nsa Hack Tools
  50. Pentest Tools Port Scanner
  51. Hacking Tools For Windows 7
  52. Pentest Tools Linux
  53. Hacking Tools Windows 10
  54. Hack And Tools
  55. Hak5 Tools
  56. Hacking Tools For Pc
  57. Hack Tool Apk
  58. Hacking Tools For Kali Linux
  59. How To Hack
  60. Hacking Tools Mac
  61. Best Hacking Tools 2020
  62. Hack Tools For Ubuntu
  63. Game Hacking
  64. Pentest Tools Github
  65. Hack Tools For Pc
  66. Hacking Tools For Windows Free Download
  67. Hackrf Tools
  68. Beginner Hacker Tools
  69. Wifi Hacker Tools For Windows
  70. Hacker Tools For Ios
  71. Game Hacking
  72. Hacking Tools For Pc
  73. Hacking Tools Github
  74. Hacker Tools Apk Download
  75. Hack Rom Tools
  76. Hacking Tools Github
  77. Pentest Tools For Mac

Koppeling - Adaptive DLL Hijacking / Dynamic Export Forwarding


This project is a demonstration of advanced DLL hijack techniques. It was released in conjunction with the "Adaptive DLL Hijacking" blog post. I recommend you start there to contextualize this code.

This project is comprised of the following elements:

  • Harness.exe: The "victim" application which is vulnerable to hijacking (static/dynamic)
  • Functions.dll: The "real" library which exposes valid functionality to the harness
  • Theif.dll: The "evil" library which is attempting to gain execution
  • NetClone.exe: A C# application which will clone exports from one DLL to another
  • PyClone.py: A python 3 script which mimics NetClone functionality

The VS solution itself supports 4 build configurations which map to 4 different methods of proxying functionality. This should provide a nice scalable way of demonstrating more techniques in the future.

  • Stc-Forward: Forwards export names during the build process using linker comments
  • Dyn-NetClone: Clones the export table from functions.dll onto theif.dll post-build using NetClone
  • Dyn-PyClone: Clones the export table from functions.dll onto theif.dll post-build using PyClone
  • Dyn-Rebuild: Rebuilds the export table and patches linked import tables post-load to dynamically prepare for function proxying

The goal of each technique is to successfully capture code execution while proxying functionality to the legitimate DLL. Each technique is tested to ensure static and dynamic sink situations are handled. This is by far not every primitive or technique variation. The post above goes into more detail.


Example

Prepare a hijack scenario with an obviously incorrect DLL

> copy C:\windows\system32\whoami.exe .\whoami.exe
1 file(s) copied.

> copy C:\windows\system32\kernel32.dll .\wkscli.dll
1 file(s) copied.

Executing in the current configuration should result in an error

> whoami.exe 

"Entry Point Not Found"

Convert kernel32 to proxy functionality for wkscli

> NetClone.exe --target C:\windows\system32\kernel32.dll --reference C:\windows\system32\wkscli.dll --output wkscli.dll
[+] Done.

> whoami.exe
COMPUTER\User



Related articles


  1. Hack Tools
  2. Hacker Techniques Tools And Incident Handling
  3. Tools For Hacker
  4. Hacker Tool Kit
  5. Pentest Tools Tcp Port Scanner
  6. Hacking Tools For Pc
  7. Pentest Box Tools Download
  8. Hacking Tools Software
  9. Pentest Tools Website
  10. Hacker Tools Mac
  11. Hack Tools For Windows
  12. Hack Tools Download
  13. Hack Website Online Tool
  14. Hack Tool Apk No Root
  15. Pentest Tools For Ubuntu
  16. Hack Tools For Windows
  17. Nsa Hack Tools
  18. Black Hat Hacker Tools
  19. Hacking Tools Pc
  20. Hackers Toolbox
  21. Hacking Tools Mac
  22. Hacking Tools Windows 10
  23. Hacking Tools And Software
  24. Hacker Tools Github
  25. New Hacker Tools
  26. Hacking Tools Mac
  27. Pentest Tools Framework
  28. Termux Hacking Tools 2019
  29. Hacking Tools Online
  30. Nsa Hacker Tools
  31. Hacker Tools For Ios
  32. Hacking Tools 2020
  33. Physical Pentest Tools
  34. Hack Apps
  35. Hacking Tools Software
  36. Hacking Tools Pc
  37. Pentest Tools Open Source
  38. Pentest Tools Review
  39. Hack Tools Mac
  40. Wifi Hacker Tools For Windows
  41. Hack Website Online Tool
  42. Hacker Tools Hardware
  43. Hacking Apps
  44. Best Hacking Tools 2019
  45. Hacker Tools For Windows
  46. Pentest Tools Linux
  47. Best Pentesting Tools 2018
  48. Hacking Tools Download
  49. Pentest Reporting Tools
  50. Beginner Hacker Tools
  51. Hack Tool Apk No Root
  52. Hacking Tools 2020
  53. Hacking Tools For Games
  54. Pentest Tools Android
  55. Black Hat Hacker Tools
  56. Hack Tools Download
  57. Hack Tools 2019
  58. Tools Used For Hacking
  59. Growth Hacker Tools
  60. Blackhat Hacker Tools
  61. Hacker
  62. Hacker Tool Kit
  63. Hack Apps
  64. Hacker Tools Apk Download
  65. Best Hacking Tools 2020
  66. Pentest Tools For Ubuntu
  67. Pentest Automation Tools
  68. Hacking Tools For Beginners
  69. Pentest Tools Online
  70. Hacker Tools
  71. Hacker Tools Apk Download
  72. Tools 4 Hack
  73. Hacking Tools Pc
  74. Hacking Tools Usb
  75. Hacker
  76. Hacker Tools Hardware
  77. Hack Tools For Pc
  78. Hacker Tools 2020
  79. Easy Hack Tools
  80. How To Install Pentest Tools In Ubuntu
  81. Hack Rom Tools
  82. Pentest Tools Apk
  83. Android Hack Tools Github
  84. Pentest Tools Android
  85. Hacker Search Tools
  86. Pentest Tools Kali Linux
  87. Hack Tools For Pc
  88. Pentest Tools Find Subdomains
  89. Hacker Tools For Ios
  90. Black Hat Hacker Tools
  91. What Is Hacking Tools
  92. Hacker Tools Mac
  93. Hackrf Tools
  94. Hack Tool Apk
  95. Pentest Tools Bluekeep
  96. Computer Hacker
  97. Pentest Tools Bluekeep
  98. Hacking Tools Hardware
  99. How To Make Hacking Tools
  100. Nsa Hack Tools Download
  101. World No 1 Hacker Software
  102. Hacker Tools Linux
  103. Hacking Tools And Software
  104. Easy Hack Tools
  105. Hacking Tools For Windows 7
  106. Hacking Tools Windows 10
  107. Hack Rom Tools
  108. Best Hacking Tools 2020
  109. Hack Tools For Games
  110. Underground Hacker Sites
  111. Hacking Tools Name
  112. Hacking Tools Free Download
  113. Hacking Tools Windows 10
  114. Hacker Tools 2019
  115. Hacking Tools Download
  116. Hack And Tools
  117. Hacking App
  118. Hacking Tools For Mac
  119. Hacker Tools Linux
  120. Pentest Tools Url Fuzzer
  121. Hacking Tools For Games
  122. Hacker Tools Free Download
  123. Hack App
  124. Pentest Tools Website
  125. Hacker
  126. Hacker Tools
  127. Hacker Tools Apk
  128. Nsa Hack Tools
  129. Hack Apps
  130. Hacker
  131. Hacker Hardware Tools
  132. Pentest Tools Nmap
  133. Hacking Tools Free Download
  134. Hacking Tools Github
  135. Hacking Tools And Software
  136. Pentest Automation Tools
  137. Hacker Techniques Tools And Incident Handling
  138. Kik Hack Tools
  139. Hacker Tools Online
  140. Pentest Tools Find Subdomains
  141. Hacking Tools 2019
  142. Tools 4 Hack
  143. Hacking Tools For Kali Linux
  144. Hack Tools For Games
  145. Tools Used For Hacking
  146. What Is Hacking Tools
  147. Pentest Tools For Windows
  148. Hacker Tools Windows
  149. Hacker Tools Windows
  150. Underground Hacker Sites
  151. Pentest Tools For Mac
  152. Hack Tools For Pc
  153. How To Hack

Friday, January 26, 2024

Automating REST Security Part 1: Challenges

Although REST has been a dominant choice for API design for the last decade, there is still little dedicated security research on the subject of REST APIs. The popularity of REST contrasts with a surprisingly small number of systematic approaches to REST security analysis. This contrast is also reflected in the low availability of analysis tools and best security practices that services may use to check if their API is secure.

In this blog series, we try to find reasons for this situation and what we can do about it. In particular, we will investigate why general REST security assessments seem more complicated than other API architectures. We will likewise discuss how we may still find systematic approaches for REST API analysis despite REST's challenges. Furthermore, we will present REST-Attacker, a novel analysis tool designed for automated REST API security testing. In this context, we will examine some of the practical tests provided by REST-Attacker and explore the test results for a small selection of real-world API implementations.

Author

Christoph Heine

Overview

 Understanding the Problem with REST

When evaluating network components and software security, we often rely on specifications for how things should work. For example, central authorities like the IETF standardize many popular web technologies such as HTTP, TLS or DNS. API architectures and designs can also be standardized. Examples of these technologies are SOAP and the more recent GraphQL language specification. Standardization of web standards usually influences their security. Drafting may involve a public review process before publication. This process can identify security flaws or allow the formulation of official implementation and usage best practices. Best practices are great for security research as a specification presents clear guidelines on how an implementation should behave and why.

The situation for REST is slightly different. First of all, REST is not a standard in the sense that there is no technical specification for its implementation. Instead, REST is an architecture style which is more comparable to a collection of paradigms (client-server architecture, statelessness, cacheability, uniform interface, layering, and code-on-demand). Notably, REST has no strict dependency on other web technologies. It only defines how developers should use components but not what components they should use. This paradigm makes REST very flexible as developers are not limited to any particular protocol, library, or data structure.

Furthermore, no central authority could define rules or implementation guidelines. Roy Fielding created the original definition of REST as a design template for the HTTP/1.1 standard in 2000. It is the closest document resembling a standard. However, the document merely explains the REST paradigms and does not focus on security implications.

The flexibility of the REST architecture is probably one of the primary reasons why security research can be challenging. If every implementation is potentially different, how are we supposed to create common best practices, let alone test them consistently across hundreds of APIs? Fortunately for us, not every API tries to reinvent the wheel entirely. In practice, there are a lot of similarities between implementations that may be used to our advantage.

Generalizing REST Security

The most glaring similarity between REST API implementations is that most, if not all, are based on HTTP. If you have worked with REST APIs before, this statement might sound like stating the obvious. However, remember that REST technically does not require a specific protocol. Assuming that every REST API uses HTTP, we can use it as a starting point for a generalization of REST API security. Knowing that we mainly deal with HTTP is also advantageous because HTTP - unlike REST - is standardized. Although HTTP is still complex, it gives us a general idea of what we can expect.

Another observation is that REST API implementations reuse several standardized components in HTTP for API communication. Control parameters and actions in an API request are mapped to components in a generic HTTP request. For example, a resource that an API request operates on, is specified via the HTTP URL. Actions or operations on the said resource are identified and mapped to HTTP methods defined by the HTTP standard, usually GET, POST, DELETE, PUT, and PATCH. API operations retain their intended action from HTTP, i.e., GET retrieves a resource, DELETE removes a resource, and so on. In REST API documentation, we can often find a description of available API endpoints using HTTP "language":

Since the URL and the HTTP method are sufficient to build a basic HTTP request, we can potentially create an API requests if we know a list of REST endpoints. In practice, the construction of such requests can be more complicated because the API may have additional parameter requirements for their requests, e.g., query, header, or body content. Another problem is finding valid IDs of resources can be difficult. Interestingly, we can infer each endpoint's action based on the HTTP method, even without any context-specific knowledge about the API.

We can also find components taken from the HTTP standard in the API response. The requested operation's success or failure is usually indicated using HTTP status codes. They retain their meaning when used in REST APIs. For example, a 200 status code indicates success, while a 401 status code signifies missing authorization (in the preceding API request). This behavior again can be inferred without knowing the exact purpose of the API.

Another factor that influences REST's complexity is its statelessness paradigm. Essentially, statelessness requires that the server does not keep a session between individual requests. As a result, every client request must be self-contained, so multi-message operations are out of the picture. It also effectively limits interaction with the API to two HTTP messages: client request and server response. Not only does this make API communication easier to comprehend, but it also makes testing more manageable since we don't have to worry as much about side effects or keeping track of an operations state.

Implementing access control mechanisms can be more complicated, but we can still find general similarities. While REST does not require any particular authentication or authorization methods, the variety of approaches found in practice is small. REST API implementations usually implement a selection of these methods:

  • HTTP Basic Authentication (user authentication)
  • API keys (client authentication)
  • OAuth2 (authorization)

Two of these methods, OAuth2 and HTTP Basic Authentication, are standardized, while API keys are relatively simple to handle. Therefore, we can generalize access control to some degree. However, access control can be one of the trickier parts of API communication as there may be a lot of API-specific configurations. For example, OAuth2 authorization allows the API to define multiple access levels that may be required to access different resources or operations. How access control data is delivered in the HTTP message may also depend on the API, e.g., by requiring encoding of credentials or passing them in a specified location of the HTTP message (e.g. header, query, or body).

Finding a Systematic Approach for REST API Analysis

So far, we've only discussed theoretical approaches scatching a generic REST API analysis. For implementing an automated analysis tool, we need to adopt the hints that we used for our theoretical API analyses to the tool. For example, the tool would need to know which API endpoints exist to create API requests on its own.

The OpenAPI specification is a popular REST API description format that can be used for such purpose. An OpenAPI file contains a machine-readable definition (as JSON or YAML) of an API's interface. Basic descriptions include the definition of the API endpoints, but can optionally contain much more content and other types of useful information. For example, an endpoint definition may include a list of required parameters for requests, possible response codes and content schemas of API responses. The OpenAPI can even describe security requirements that define what types of access control methods are used.

{     "openapi": "3.1.0",     "info": {         "title": "Example API",         "version": "1.0"     },     "servers": [         {             "url": "http://api.example.com"         }     ],     "paths": {         "/user/info": {             "get": {                 "description": "Returns information about a user.",                 "parameters": [                     {                     "name": "id",                     "in": "query",                     "description": "User ID",                     "required": true                     }                 ],                 "responses": {                     "200": {                         "description": "User information.",                         "content": {                             "application/json": {                                 "schema": {                                     "type": "object",                                     "items": {                                         "$ref": "#/components/schemas/user_info"                                     }                                 }                             }                         }                     }                 }             }         }     },     "security": [         {             "api_key": []         }     ] } 

As you can see from the example above, OpenAPI files allow tools to both understand the API and use the available information to create valid API requests. Furthermore, the definition can give insight into the expected behavior of the API, e.g., by checking the response definitions. These properties make the OpenAPI format another standard on which we can rely. Essentially, a tool that can parse and understand OpenAPI can understand any generic API. With the help of OpenAPI, tools can create and execute tests for APIs automatically. Of course, the ability of tools to derive tests still depends on how much information an OpenAPI file provides. However, wherever possible, automation can potentially eliminate a lot of manual work in the testing process.

Conclusion

When we consider the similarities between REST APIs and OpenAPI descriptions, we can see that there is potential for analyzing REST security with tools. Our next blog post discusses how such an implementation would look like. We will discuss REST-Attacker, our tool for analyzing REST APIs.

Further Reading

The feasibility of tool-based REST analysis has also been discussed in scientific papers. If you want to know more about the topic, you can start here:

  • Atlidakis et al., Checking Security Properties of Cloud Service REST APIs (DOI Link)
  • Lo et al., On the Need for a General REST-Security Framework (DOI Link)
  • Nguyen et al., On the Security Expressiveness of REST-Based API Definition Languages (DOI Link)

Acknowledgement

The REST-Attacker project was developed as part of a master's thesis at the Chair of Network & Data Security of the Ruhr University Bochum. I would like to thank my supervisors Louis Jannett, Christian Mainka, Vladislav Mladenov, and Jörg Schwenk for their continued support during the development and review of the project.

Continue reading


  1. Pentest Tools Review
  2. Hacking Tools Hardware
  3. Hack And Tools
  4. Pentest Tools Github
  5. Hacker Tools For Ios
  6. Hacking Tools Online
  7. Hacking Tools For Kali Linux
  8. Hacker Tools For Ios
  9. Pentest Recon Tools
  10. Hack Website Online Tool
  11. Hacking Tools Name
  12. New Hack Tools
  13. Growth Hacker Tools
  14. Hacker Tools Free
  15. Android Hack Tools Github
  16. Pentest Tools Alternative
  17. Hacker Techniques Tools And Incident Handling
  18. Tools 4 Hack
  19. Hacking Tools Windows
  20. Pentest Tools Review
  21. Computer Hacker
  22. Hacker Tools Windows
  23. Hack Tool Apk No Root
  24. Pentest Tools Subdomain
  25. Hacks And Tools
  26. Pentest Tools For Android
  27. Hacking Tools Windows 10
  28. Hak5 Tools
  29. Hacker Tools Mac
  30. Wifi Hacker Tools For Windows
  31. Pentest Tools Review
  32. Hack Tool Apk
  33. Pentest Tools
  34. Pentest Tools Subdomain
  35. Hacker Tools Windows
  36. Pentest Tools Bluekeep
  37. Pentest Tools Tcp Port Scanner
  38. Hack Rom Tools
  39. Tools 4 Hack
  40. Hacker Tools Linux
  41. New Hacker Tools
  42. Hacking Tools For Beginners
  43. Physical Pentest Tools
  44. Ethical Hacker Tools
  45. Computer Hacker
  46. Hacker Tools Github
  47. Hacking Tools For Kali Linux
  48. Top Pentest Tools
  49. Hacking Tools Mac
  50. Nsa Hack Tools Download
  51. Hack Tools
  52. Hacking Tools Free Download
  53. Pentest Tools Free
  54. Hacker Tools 2019
  55. Hack App
  56. Hacking Tools Free Download
  57. Pentest Recon Tools
  58. Wifi Hacker Tools For Windows
  59. Pentest Tools Url Fuzzer
  60. Android Hack Tools Github
  61. Hacking Tools For Mac
  62. Easy Hack Tools
  63. Kik Hack Tools
  64. Easy Hack Tools
  65. Hackers Toolbox
  66. Hack Tools
  67. Best Hacking Tools 2019
  68. Kik Hack Tools
  69. Pentest Tools Download
  70. Hacking Tools 2019
  71. New Hacker Tools
  72. Pentest Tools Free
  73. Tools 4 Hack
  74. Hacker Tools For Pc
  75. Hacker Hardware Tools
  76. Pentest Tools List
  77. Hacking App
  78. Pentest Tools For Android
  79. Pentest Tools
  80. Hacker Tools Mac
  81. Pentest Tools Nmap
  82. Hacking Tools For Kali Linux
  83. Hacking Tools Windows
  84. Pentest Tools Alternative
  85. Usb Pentest Tools
  86. Hack App
  87. Install Pentest Tools Ubuntu