📚 OpenRCE is preserved as a read-only archive. Launched at RECon Montreal in 2005. Registration and posting are disabled.








Flag: Tornado! Hurricane!

 Forums >>  Brainstorms - General  >>  Open source or Commercial Software?

Topic created on: February 12, 2009 14:13 CST by octetstream .

I've posted this in another forum on another site as well, because I'm trying to get as much feedback as possible!

I've been developing code coverage and application fuzzing software (with Pedram Amini's PyDBG as my debugging API) in my free time for a while now, and it's about time that I leave my consultant position at my firm to pursue other endeavors. There is no "legal" conflict of interest with my software and current employer (aside from the comment below), so that doesn't even need to be considered. My group at this form doesn't sell software, doesn't want to, and basically hates it even though my group is a security consulting group.

So I'm trying to determine whether I want to commercialize the software (including sources) or just open source it. I'd love to make a living on it, I'm just wary given all of the doom and gloom of the economy, and because I can't actually sell it while at my current employer (they terminate people who make money working outside of this job). Here's the breakdown of what I've been working on:

Loki (distributed fuzzer)
- Not dependent on any additional commercial software licenses (you have to provide your own OS and apps tho)
- Similar to Pedram's Sulley, but further in development
- Highly configurable (fuzzing sets can be customized however necessary)
- Fuzzing Options include: arbitrarily sized data replacement, string mutation, randomly generated data, and a couple others I can't think of off the top of my head
- Supports heterogeneous application versions
- Supports as many fuzzing hosts as you want to throw at it
- Centrally managed
- Capable of testing Windows applications, and services (Linux/Unix support is almost done)
- Capable of testing ActiveX
- HTML/CSS/Javascript rendering (browser agnostic) is in testing, not in production
- Provides useful crash dumps with symbol resolution

Bikini (code coverage)
- Not dependent on any additional commercial software licenses (like above)
- Highly configurable (inclusion/exclusion DLL, address, range lists, great for stepping to the end of the unpacking of packed binaries)
- Automatic basic block detection and mapping
- Pretty execution graph generation (viewable through free 3rd party applications)
- Data flow graph generation (viewable through free 3rd party applications)
- cflow graph generation
- Coverage restarts
- Multiple run support (say the tested code is non-deterministic, and you want to grab multiple runs of the same app)
- Application version comparison (like bindiff)
- Bunch of other analysis info
- Can be integrated into Loki for "second phase" analysis
- Web-based graphing is still in development (figuring out layout algorithms sucks)

I'm also in the process of developing a pseudocode (c-like) decompiler, that takes Bikini output and generates source code with graph matching to basic blocks. But I can't work both jobs anymore if I want to finish it!

The feedback I'm looking for is, how much would individuals or companies be willing to spend on this kind of software if it was commercial + source licensed? And should I bother with open sourced licensing if I want to make a modest (well, maybe take a couple trips every couple years) living on it?

  zarulshahrin     February 14, 2009 03:05.30 CST
Loki, Bikini... I haven't try them yet.. But they definitely have a very good name.. :p

  octetstream   February 15, 2009 21:05.45 CST
Haven't licensed or released them yet, but I really want to!  I've been daydreaming about commercial source licensing, since it's based on open source technology (and I'd love for people to tweak it for their purposes), and because IDA and BinNavi are sold as binaries (for the most part). The only restrictions would be on redistribution and remarketing without prior consent.  I'm considering forum access for paid customers/clients/etc as a brainstorming space for developers and engineers who use the various products.

I was considering a couple licensing methods.  I was thinking that if developers are interested in playing around, they could buy a copy for themselves (repository access, updates for a year, no binary or installation media, forum access and minimal support) or their organization for cheap (like around $1k).

And an enterprise license including binary and/or install media, additional support, and priority requests for feature fixes/updates.  Something around $5k for that licensing, including all developer licensing.  

My goal is to provide professional tools for cheaper than similarly marketed tools that are much more customized for reverse engineering / hacking / tinkering, than for general purpose debugging.  I'd prefer to open-source (ala GPL), but that would be my long-term goal that I'd induce as development progresses toward some revision of the next generation software that I've been designing.  Kind of how VMWare has opened/released their older technology as their newer versions come out.

In addition I'm trying to determine the market price so that I can avoid massive piracy, while keeping it in that zone where people would be willing to purchase it for cheaper than developing it on their own, all while making enough so that I could work on it full time instead of 12 hrs a week!

I can say that I've used both sets of tools to make additional income for myself via vulnerability sales over the past year with companies like iDefense and TippingPoint. It's a shame that I haven't had more time to invest into that lately!

Note: Registration is required to post to the forums.

There are 31,328 total registered users.


Recently Created Topics
[help] Unpacking VMP...
Mar/12
Reverse Engineering ...
Jul/06
let 'IDAPython' impo...
Sep/24
set 'IDAPython' as t...
Sep/24
GuessType return une...
Sep/20
About retrieving the...
Sep/07
How to find specific...
Aug/15
How to get data depe...
Jul/07
Identify RVA data in...
May/06
Question about memor...
Dec/12


Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow
New LoadMAP plugin v...
mefisto...
Intel pin in loaded ...
djnemo
OOP_RE tool available?
Bl4ckm4n


Recent Blog Entries
halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

oleavr
Jun/25
Build a debugger in 5 minutes

More ...


Recent Blog Comments
nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

capadleman on:
Jun/19
Using NtCreateThreadEx for ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit