Git Product home page Git Product logo

project-ideas's Introduction

project-ideas's People

Contributors

hockeyinjune avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

project-ideas's Issues

Wikipedia: Write the GOT and PLT entries

Pretty self explanatory. Wikipedia doesn't have these articles and they are pretty important. Writing them will demonstrate you have a clear working knowledge of dynamic linking and runtime behavior and your work will be seen by many people.

Burp Fuzzing Plugin

Burp plugin to use Burp Repeater functionality to fuzz web applications.

The plugin needs to:

  • generate lists of POST/GET data
  • send items from lists of payloads to sites

The documentation for Burp Extender is poor and the approach for writing this plugin is unclear. Work needs to be done in deciphering the documentation, scripting Burp Repeater to submit information pragmatically, and keep track of requests and their appropriate responses.

http://portswigger.net/burp/extender/

The plugin can be written in Java, Jython, or JRuby. Most likely given the preferences in the lab, Jython will be chosen as the plugin language. In addition, it is probable that the Burp Extender demo extensions will be of more assistance than the Extender documentation if you choose to use Jython or JRuby.

Write a synopsis of a report or conference paper

Improve the state of S/MIME in e-mail clients

E-mail clients like Thunderbird and Mail.app support S/MIME out of the box but various essential components are missing.

For example, e-mails aren't automatically upgraded to encrypt when it's detected that a public key for the recipient exists in your keystore for Thunderbird. Various other conditions lead many e-mails to be sent that you may believe are signed and encrypted but are not. This functionality could be investigated in the open-source Thunderbird repository and changed or added to.
https://www.mozilla.org/en-US/contribute/
https://wiki.mozilla.org/Thunderbird

As another example, attackers may find an unscrupulous CA to sign a CSR and get an S/MIME cert in the name of a friend of yours. Mail.app provides little to no facilities to check whether the S/MIME cert used by a third party is the one you expect. It's not possible to view the certificate used to sign a message from the message display, compare it to previous certificates used by that sender, or inspect that the keys used were strong enough to resist cracking. Changing this functionality would require developing a plugin, similar to GPGTool's GPGMail which is open-source and might serve as a template.
https://github.com/GPGTools/GPGMail
https://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html

Develop malware that could be used for research purposes

Possible design goals

  • Detectable malware
  • Stealthy malware
  • APT-like malware
  • Design undetectable malware

Use cases

  • Reverse obfuscated or otherwise stealthy malware
  • Detect malware by traditional techniques
  • Discover malware by detecting APT indicators
  • Design security mechanisms that prevent this malware from operating

Static analysis tool to search for period/comma typos.

In European countries, ',' and '.' are reversed when used to delimit thousands/the decimal. This could be the source of a few bugs out there. Write a static analysis tool that looks for these bugs.

One possible approach is to search for the following pattern /(,|.)\d{3}/.

Some other notes:
Look for locations where a function is receiving more arguments than it expects. (Perl, Ruby?)
Python lists (a = 1,000)

How Can We Teach Dense, Technical Material To A Wide Range of Students?

Some students are self-starters, others need their hand held every step of the way. Some students need to hear it, others just need to touch it, and some need to see concepts demonstrated over and over again.

What can we do so Hack Night, and our other publicly available materials are useful for everyone?

Automatic or Manual Networking Mapping

Idea from Thomas Reddington.

Mapping a network from the perspective of an external attacker or an internal attacker. The lab has expertise in many areas of networking, and this expertise can be turned into a stealthy, sensitive information gathering tool that's useful for both offense and defense.

New Student Orientation Materials

What information do new students need to be exposed to in order to be high-functioning members of the ISIS Lab and the information security industry?

Blog Post on Type Confusion and Content Sniffing

Ad Exchange vulnerability assessment

Web application software made for serving advertisements, like OpenX, are among the most exploited web applications on the internet due to the large volume of web traffic they come in contact with. Criminals frequently exploit these systems to redirect this flow of traffic towards a crimeware pack like the Blackhole Exploit Kit. Much of this software was written years ago in PHP and they have not been the subject of close study.

Perform a targeted assessment of these web applications with a eye towards vulnerabilities that can result in a server compromise.

Develop a lightweight debugger for educational purposes

Writing a debugger can be an enlightening process. This project will help you understand how debuggers interface with the operating system to allow program debugging. It will also teach you the techniques debuggers need to use to provide simple and complex debugging features.

This project is related to project #14.

@isislab/jewdbg.

Ozone Platform Security Audit

https://www.owfgoss.org/

https://github.com/ozoneplatform/owf

The Ozone Widget Framework, a government developed application for widget development is available on GitHub under version 2.0 of the Apache license. The Defense Department was under a year-end congressional deadline to release the code as open source; its developers describe it in the ReadMe as "basically a glorified web portal engine, with the unusual characteristic that the content within the portal (i.e. the widgets) is decentralized."

Security Researchers could look to see how security is implemented on this framework, and to check to see if any vulnerabilities exist.

Wireshark vulnerability research

http://www.wireshark.org/
http://www.wireshark.org/develop.html
http://www.wireshark.org/docs/wsdg_html_chunked/
https://bugs.wireshark.org/bugzilla/
https://bugs.wireshark.org/bugzilla/buglist.cgi?quicksearch=fuzz

Methodology

This methodology assumes you have already completed the Hack Night curriculum.

  • Find a previously patched security vulnerability in the bug tracker.
  • Analyze this vulnerability until you understand it completely. This will help you to start understanding the code base and get you familiar with how this type of bug manifests in the target application.
  • Exploit this vulnerability or continue onto the next step.
  • Choose a method to find new bugs in the target application (Also see Finding Bugs below):
  • Report and/or exploit the bug you found in the target application.

Finding Bugs

Remember always focus on the easiest way to find bugs first. This might change from project to project, but here's a guide.

  • Start with a dumb fuzzer. It's easy to set up and it might find low-hanging fruit.
  • Search for vulnerable API calls, either through source code analysis or reverse engineering.
  • Do an operational review of the target application, find out what libraries it uses and how the application is designed to be used.
  • Figure out how the target application is architected and start learning more about where input enters the program and how input is structured.
  • Once you start learning about how input is structured, you can use a smarter fuzzer, or build your own fuzzer.
  • Keep learning more about the target application to find interesting parts of the program that might have unsafe functionality or hidden bugs.

Android's Binder Vulnerability Research

Abstract:
Android's Intents are a way of communication that takes place between the app's components. The communication can be within a single app or can be with other apps in the system. Intent's are a two layer abstraction of what the actual Inter-Process Communication (IPC) mechanism is being performed on the low level(Kernel). Binder kernel module in the Android's architecture is responsible for all the IPC communications. It would be interesting to see how the marshaling and un-marshaling takes place, and if any vulnerability is present, it would lead intents being passed to other app's than intended, or worse an arbitary code execution.

Short-Term Goals:

Long-Term Goals:

  • Bug hunting in the Binder module, with a potential exploit

Reference:

Attacker Classification Blog Post

Using publicly available information about different groups of attackers and their motives, build a taxonomy of different types of attackers and their motives, capabilities, resources, growth, and more.

Make sure to follow standard principles of economics, like an actor will take the path of least effort/resources/sophistication to achieve their goal. For instance, crimeware groups who are stealing bank account information don't need to use 0-day to install their malware so chances are, they won't.

This project is designed to help show laymen how and why attackers operate the way they do. And also to prevent bullshit and lies from ending up in the New York Times. :)

Bug Bounty Programs

!exploitable Crash Analyzer Research

msec.dll is open source.
http://msecdbg.codeplex.com/

  • Figure out how it works.
  • How accurate is it?
  • How much information does it use to determine exploitability?
  • How many different bug classes does it take into consideration when determining exploitability?
  • Try to improve it's accuracy.

Static or dynamic analysis tool to search for cross site scripting vulnerabilities

http://en.wikipedia.org/wiki/Cross-site_scripting
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)

This project can yield a tool specific to a web programming language:

  • PHP
  • Java
  • ASP.NET
  • Ruby
  • Python
  • Perl
  • C/C++

This project could also yield a tool that works across platforms.

This could be a simple standalone tool or an add-on to an existing static analysis framework, such as:

This could also be written as a rule for commercial static analysis engine, such as:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.