Welcome Guest [Log In] [Register]
Add Reply
Design Issues; with proogramming
Topic Started: Apr 10 2008, 05:30 PM (1,818 Views)
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Astropirate and I would like to create a semi-intelligent program. We would like help and advice on design.

>name.cell [folder]
=> interpreter [file]
=> behavior [folder]
==> main [file]
==> poly [file]
==> ... [files]
=> utils [folder]
==> ... [files]

The interpreter may or may not be neccesary, but I think that it would be useful. Basically, the 'main' file is a file that is the behavior file that calls all the other behavior files as it encounters situations. These behaviors are stored in the same folder. The file 'poly' is a framework file used by the main file (or humans) to write new behaviors for new situations.

Such behaviors would include replicating itself, gathering data about networks detected, splitting and creating archives, gathering information about the host system, escaping virtual machines and chroot jails, responding to ssh commands, monitoring keystrokes and visited websites, and whatever else one may think of.

There are many uses to a program like this. It would be a valuable tool in penetration testing, remote system administration, monitoring the activities of a spouse or workers in a copmany, not to mention the great deal understanding that will come from building a program that actually evolves as it meets and identifies new protocols. This will all be tested under a secure lab environment in order to prevent infection of the general computing populace if the program turns out be devious in nature.

The language used to program this must be interpreted and extremely small. We will need to be able to write a custom scripting language. I think this would be a great step in uncovering and solving design challenges in relation to actively exploring programs as well as dealing with design challenges in creating a simple but useful scripting language.
Edited by techwizrd, Apr 10 2008, 08:50 PM.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
astropirate
Member Avatar
Not Lurking
[ * ]
how about using lisp or arc for AI, i'll add more latter gotta get off.
You will Bow before me!

Posted ImagePosted Image
Offline Profile Quote Post Goto Top
 
astropirate
Member Avatar
Not Lurking
[ * ]
The same concept that goes for busness goes for intellegence as well "you need money to make money" We will need to give it enough intellegenc so that it could build on that and it grow more intelligent, which will allow it to know how to deal with new protocols and network obsticles that it crosses. I suggest we build a central reposotory that if it could find a vonrability it could contact the central reposotory and dump a copy of its knowlage and behavior files there and update its own behavior files so that all the new copies of it which will be realesed to the whol network won't have to "Re-invent the wheel". This way the program evolves becomes smarter and smarter.
The reason why have the "intellegence" component which allows it to find vonrability its self rather then just relying on a main "list of vonrabilities" is that some networks run on "home Brued Operating Systems" Sure you might say that they will use the widely used Kernals. But i am sure if they are going to make a home brued OS, they could also modefy the kernal for their need and will have patch the vonrability holes that are widely known. No network devise is 100% vonrability free.
You will Bow before me!

Posted ImagePosted Image
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Your spelling is atrocious! Don't you have a spell checker?

Anyway. You are completely correct. It's needs to know something to learn more. It's knowledge builds on previous knowledge. That is why it is semi-intelligent. Still we ignore the fact that intelligence is a human concept for defining the nature of speed in general usefullness of a beings thought processing capability and power to be used in claiming a superiority over another.

The first behaviors we will give it are the ability to detect what type of system it is in. The next behavior file would be one that allows it to look up the system it is in and find useful data. The problem with that is based on the environment it is enclosed in, certain ports may or not be blocked off. It will need an algorithim to determine a course of actions based on what environment it is in.

Say the porgam detects it is running in a Unix environment as a Desktop user connected to the internet via ethernet with all ports but 80, 8080, 21, 21, and 22 blocked off. Based on these factors, it must determine an appropriate course of action.

Basically, this is what the main file will do:

1. EXLORE environmental restrictions and freedoms by executing a series of commands and checking the success and failure rates for each action.
2. Try: Based on the environment, it must DETERMINE its behavior. If it cannor determine what to do, it will look up the environment and write a behavior file.
3. LOCATE a new environment.

I will try and write a quick snippet that lets the program zip up to the root directory of the partition it is located on. it should be something like:

(unless (= (dirs) 1)(traverse up))

dirs would be how many '/' are in the directory path and traverse is going to be a macro we will write.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
astropirate
Member Avatar
Not Lurking
[ * ]
First f all of course i am correct. Second:
Quote:
 
If it cannor determine what to do
MUUHAHAHAA!!!! tHe maSteR of Graemar hAs miSS-spEALeD!!!!!! (YES on purpose)


But any way....
Some more features, It would need some type of a dummy "relay station" to send the information wanted with out a trace. Further more, it would need some mighty fine stealth capabilities to evade fire walls. This "semi-intelligent" Cell would know how to detect Honeypots which would i think be the downfall of this piece of software, Unless e "magically" make it so it can differentiate between these traps and legit information.

Plus. Does any one have any idea of track erasing capabilities?
You will Bow before me!

Posted ImagePosted Image
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
astropirate
Apr 12 2008, 09:56 PM
First f all of course i am correct. Second:
Quote:
 
If it cannor determine what to do
MUUHAHAHAA!!!! tHe maSteR of Graemar hAs miSS-spEALeD!!!!!! (YES on purpose)


But any way....
Some more features, It would need some type of a dummy "relay station" to send the information wanted with out a trace. Further more, it would need some mighty fine stealth capabilities to evade fire walls. This "semi-intelligent" Cell would know how to detect Honeypots which would i think be the downfall of this piece of software, Unless e "magically" make it so it can differentiate between these traps and legit information.

Plus. Does any one have any idea of track erasing capabilities?
Great ideas. I would really like to implement those, but I think those might be behaviors and utils. We need to write the main intelligence that gives it the ability to make decisions. We need to code in these steps that I outlined and then have a specific behavior file for EXPLORING, another for DETERMING what to do, and another for LOCATING nex obstacles (basically, exploring again).
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
astropirate
Member Avatar
Not Lurking
[ * ]
One thing we could do to simulate it having dicession making ability is to have it set priority for every thing it does.
You will Bow before me!

Posted ImagePosted Image
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
That's an awesome idea actually. A priority-based decision making ability where the priorities have preset values that are incremented based on availible information that reflects good conditions. I hadn't thoguht of that...
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Aha! Using some of my google-fu, I stumbled upon these nice stuff on Lisp!

The Nature of Lisp - A great article about Lisp and code generation
Successful Lisp - teaches you A LOT about Lisp, great tut
Teach Yourself Scheme in a Fixnum Days - a really nice tutorial on Scheme

I suggest you read all 3 of them in order. If you really want to contribute to this at all, these are a nice prerequisite. I think you could probably get through all 3 in a week or two.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Ok, so I have been reading a whole bunch of stuff on Lisp, macros, an etc. and I think we should write our own Domain Specific Language specific to our problem. It should be called Realistic Artificial Behavior Edification System (RABIES)
Edited by techwizrd, Apr 15 2008, 10:46 PM.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
Jesin
Member Avatar
The Small Fish
[ * ]
Yay Lisp, perhaps not so much yay for the acronym.
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Jesin
Apr 16 2008, 05:41 PM
Yay Lisp, perhaps not so much yay for the acronym.
I assure you the acronym is fine. Or would you prefer something like Artificial Inteligence Programming Language Developed For Use In Simplfying Representation Of Behavor In Code and Analysis in Testing Environments To Further Our Understanding Of Artificial Intelligence (AIPLDFUISROBICAAITETFOUOAI)? Or maybe the shorter Artificial Machine Obviation and Edification of Behavoral Analysis (AMOEBA)? Do have a BETTER acronym? Maybe something recursive perhaps? Something recursive that has the name of a biological virus?

I got my inspiration under close research and study of the behavor of biological virus. I have created this project to expressly develop the means to create something capable of surviving by exaniming its environment and expressly trying to survive, thrive, and become dominant in any situation.

Yay lisp. :)
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Also, there is an Assembla Space dedicated to us. It will be used primarily for documentation, git or svn, trac, and project management.

If you would like to join the project, Sign Up on Assembla and email/pm/IM me. I will invite you.

Useful people would be people who are well-versed in computer secuirty, operating system design, filesystem design, software engineering, project management and staffing, computer scientists and programmers,hobbyists, anyone who is interested in contributing and becoming a developer, and last but not least, artificial intelligence and design. Anyone who can fill anyone of those niches is welcome to join although those who decide to use our code, ideas, or anything related to the project in malicious way will not be accepted. We don't want to tarnish our name because some eleven-year-old script kiddie wanted to set up a botnet, screws up, and blames it on us. Always remember, the code should be tested on closed environments where it cannot spread. In case it does get smart, we don't bad things to happen.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · Programming · Next Topic »
Add Reply