08.14.06
Posted in General Computing, Programming at 2:41 pm by Gabriel Gonzalez
Now GALD can be used to implement design by contract techniques. With just including a header and enabled the “By Contract” feature from the C preprocesor you will be able to enable pre/post conditions checks, completely written in straight forward C code, to your modules public interfaces.
Soon I will release a new version of GALD with just a short manual to help using this new and very HELPFUL features.
Permalink
08.02.06
Posted in General Computing, Programming at 9:39 am by Gabriel Gonzalez
I have created a project in Sourceforge to improve the development cycle of GALD as well as making easier to those interested on it to track updates and even collaborate with the project. GALD will not be longer updated in this server.
I still need to create a mini webpage for it but as some of you know I am not any good in the web world so it will be delayed for a few days.
Permalink
07.18.06
Posted in General Computing, Programming at 2:17 pm by Gabriel Gonzalez
I have just released a simple tool, called GALD, which will make our life as developers easier since it allows you to detect the line where the memory problem is.
The good thing is you don’t need to replace the standard malloc(), calloc(), realloc() or free() functions since a macro subsystem will address link these to the GALD’s functions.
You just need to #include and run the application to check if you missed something while coding.
I look forward to hearing from you with desired improvents or any other comments.
Permalink
07.09.06
Posted in General Computing, Programming at 4:07 am by Gabriel Gonzalez
1. Thou shalt not trust user inputs.
2. Thou shalt not trust other applications usage of your APIs.
3. Thou shalt not trust any files, network incoming data yourapp may process.
4. Thou shalt not overstimate the size of the destinations buffers.
5. Thou shalt close all the strings (with the NULL character).
6. Thou shalt free all allocated memory.
7. Thou shalt not allocate more resources than needed.
8. Thou shalt reuse as much code as possible.
9. Thou shalt design before coding.
10. Thou shalt DOCUMENT!!
Permalink
07.06.06
Posted in Computational Neuroscience at 10:24 am by Gabriel Gonzalez
This September I will attend to a interesting summer school organized by the Nicolas Cabrera Institute (Universidad Autonoma de Madrid). I know I will enjoy it for sure since I love this field but I think it is not going to be easy, a lot of advanced mathematics are going to be used to explain these engines of life.
I paste the program below with the links to the abstracts:
Biophysics of genetic networks
Bela Novak. ‘Mathematical modeling of molecular regulatory networks’
Mark Goulian. ‘Two-component signaling in bacteria’
Pablo Iglesias. ‘Feedback control in biological signaling pathways’
Biophysics of neuronal circuits
Björn Brembs. ‘Brains as output/input devices’
Fabrizio Gabbiani. ‘An introduction to neural information processing and coding’
Dmitri Chklovskii. ‘Statistical theory of brain design’
Biophysics of single molecules and cell organization
Patricia Bassereau. ‘Molecular motors and intracellular traffic’
Permalink
06.28.06
Posted in Uncategorized at 11:26 am by Gabriel Gonzalez
Migration from a two factor to a three factor authentication electronic bank system.
Nowdays, almost all of the e-banking systems in Spain have already switched to a two factor authentication system based on:
- PIN
- a Token Card (Tarjeta coordenadas, a card with a matrix of numbers printed which the system ask to enter randomly)
For almost every human is quite hard to remember an unrelated sequence of random numbers, that’s why most of the users still write down their PIN and keep them together the cards or choose easy numbers like birthdays. If the cards are stolen the thief could bypass easily the second method since it just ask to enter the numbers at random positions being completely useless from a security point of view.
I propose an easy way to extend this system to a 3 Authentication method just asking for an extra number from the token card when logging in the system.
The client should be provided of a method easy enough to remember without writing it down but hard to guess. This method should be chosen randomly from a list trying to distribute them homogeneusly among all the clients.
This method could be sent to the user via the channel used to send the PIN.
The methods I propose should allow to select a cell from the card increasing the security of the system, such methods could be similiar to the detailed below:
- Introduce the first asked cell
- Introduce the cell corresponding the current month
- idem but current day
- select the cell using the 3rd number of your credit card number.
- etc
These are just some examples which are easy to remember and hard to guess for any guess since there a large amount of methods of given the system the extra number.
If you notice this method shows any weakness please email me.
Permalink
06.22.06
Posted in Programming at 2:23 pm by Gabriel Gonzalez
Hereby I publish a draft of a paper, Useful Polymorphism in C, where you could find some interesting and straightforward features of Object Oriented languages applied to our favourite language. It relies in the C structures to simulate the OO polymorphism and in organizing the headers and source files in a way in helps to achive the goal.
I am not sure if I will finish the paper ever but it has enough literature to understand the whole idea and contains quite lines of code which helps to go ahead and get it working.
I know a bunch of stuff have been written about OOing C but here I just try to apply the semantic of Polymorphism avoiding the use of hilarious syntax. I hope find it interesting.
Permalink
06.14.06
Posted in Uncategorized at 11:01 pm by Gabriel Gonzalez
I will no publish more entries in the blog till some of the projects I am involved reach an enough mature point to make them available.
No enough to cope with this
Permalink
05.20.06
Posted in Computational Neuroscience at 8:30 pm by Gabriel Gonzalez
After some suggestion from Gonzalo G. de Polavieja, the director of the NeuroLab, I have updated my CPG to be more biologically plausible.
I have kept the Izhikevich’s model but now the two neurons exhibits fast rebound spiking. The Action Potentials plots looks absolutely better.
Permalink
05.16.06
Posted in Computer Security at 9:28 am by Gabriel Gonzalez
Do you have a virtual machine running a UNIX-like or Windows as guest OS, instead a physical one, as part of your organization network? Take CARE! Because it is more evil than it looks!
If you are thinking on using VMWare Workstation or similar you should test the issues I present below. They look to be fixed with the VMWare ACE version.
Have you ever tried to gain root access in one of your companies’ computer to sniff? Have you ever tried to crack someone’s else password? And you have spend hours, days surfing the web looking for an exploit ?
Now you don’t have to worry anymore if you use VmWare at work! With VmWare you will be able to read in plain text the password of the incoming ssh connections or even you could change your id to 0. And you only need to run VmWare nor even being superuser in the OS under VmWare. Does it sound good? Read ahead!
1) Looking for plain text password (I have tested it with OpenBSD & Linux + OpenSSH under VmWare):
Once someone has logged in your local OS you just need to suspend the VmWare machine (you know the [ | | ] symbol).
Afterwards, go straight to the directory of the Virtual Machine and edi, preferably with an hex editor, the “xyz.vmem” file.
Look for “ssh-connection”, you will find it several times before the password appear. The text sourrounding the password is like the following:
ssh-connection.....password....Cabronazo#####
Being Cabronazo the password and ### garbage.
2) Gaining root access:
Do you run an Unix-like OS under VmWare at work? Bad Idea!! (If it is not properly configured, obviously) You can gain root just with a few key-strokes and an hex editor. Look for "username:" and just change all the pid to 0.
It is easy! isn't it?
Permalink
« Previous entries · Next entries »