LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 11-05-2011, 07:09 AM   #16
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 234Reputation: 234Reputation: 234

Quote:
Originally Posted by Zssfssz View Post
Ok..,.... Now ignoring the 'compiled' part of the question what is your answer?
If you're afraid of somebody stealing source code of your program, your only option is to put program on the server, and communicate with it via some kind of front-end. There's no other way to protect your program from being reverse-engineered or modified. However this is not security.

Computer security (protection of user data, protection from hacking, etc) has nothing to do with your choice of programming language.
 
Old 11-05-2011, 09:05 AM   #17
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by SigTerm View Post
...
Computer security (protection of user data, protection from hacking, etc) has nothing to do with your choice of programming language.
But using some languages it's easier to make mistakes which make program insecure, e.g. through buffer overflows.
 
Old 11-05-2011, 09:45 AM   #18
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by Sergei Steshenko View Post
But using some languages it's easier to make mistakes which make program insecure, e.g. through buffer overflows.
That's arguable. IF programmer is fairly skilled, he(/she?) should already know what functions to avoid. If programmer is not skilled, then why is he writing piece of software that must be secure?
 
Old 11-05-2011, 10:03 AM   #19
Zssfssz
Member
 
Registered: Sep 2011
Location: Las Vegas!
Distribution: Ubuntu n' Flavors, ReactOS, MINIX3, FreeDOS, Arch
Posts: 339

Original Poster
Rep: Reputation: Disabled
That's what I'm trying to protect: the SRC. If someone where to mess with the code it could distroy the program. The code would be available sepererly on the site.
It's under construction, I'm not sure if I'm allowed to post a link. Security is protecting the program from being unintentionally altered. Which is much easier to do with a scripting language because all they would need is a text editor.
The protecting data one is not what I'm shooting for.

Last edited by Zssfssz; 11-05-2011 at 10:10 AM.
 
Old 11-05-2011, 10:39 AM   #20
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,219

Rep: Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309
Zssfssz, it is fine want to release your program as closed source and to only distribute compiled binaries.

Let me point out that you can compile Python programs into self-running executables. Therefore, Python does fit your requirements.

Last edited by dugan; 11-05-2011 at 10:43 AM.
 
Old 11-05-2011, 10:49 AM   #21
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by SigTerm View Post
That's arguable. IF programmer is fairly skilled, he(/she?) should already know what functions to avoid. If programmer is not skilled, then why is he writing piece of software that must be secure?
How about index overruns ? How about writing to free'ed memory ?
 
Old 11-05-2011, 10:51 AM   #22
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by Zssfssz View Post
That's what I'm trying to protect: the SRC. If someone where to mess with the code it could distroy the program. The code would be available sepererly on the site.
It's under construction, I'm not sure if I'm allowed to post a link. Security is protecting the program from being unintentionally altered. Which is much easier to do with a scripting language because all they would need is a text editor.
The protecting data one is not what I'm shooting for.
Are you talking about closing the source because you do not want others to "own" your program ? If so, it has nothing to do with what is called security.
 
Old 11-05-2011, 10:56 AM   #23
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,219

Rep: Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309
Quote:
Originally Posted by Sergei Steshenko View Post
Are you talking about closing the source because you do not want others to "own" your program ? If so, it has nothing to do with what is called security.
He wants to prevent Grandma from altering the program with a text editor, saving it, and then asking him for tech support when her altered version breaks.

It is, of course, as easy use a text editor to "destroy" a compiled program as it is to use a text editor to "destroy" an interpreted one. In fact, I'd say it's even easier.

The way most software projects get around this is to specifically say that only those running unaltered versions of the program are entitled to tech support.

Now, just to be clear:

Quote:
Security is protecting the program from being unintentionally altered.
If someone edits the program with a text editor, then the program is not being "unintentionally" altered, is it?

Last edited by dugan; 11-05-2011 at 11:06 AM.
 
Old 11-05-2011, 11:05 AM   #24
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by dugan View Post
He wants to prevent Grandma from altering the program with a text editor, saving it, and then asking him for tech support when her altered version breaks.

It is, of course, as easy use a text editor to "destroy" a compiled program as it is to use a text editor to "destroy" an interpreted one. In fact, I'd say it's even easier.

The way most software projects get around this is to specifically say that only those running unaltered versions of the program are entitled to tech support.
And grandma can use 'objdump' (or whatever it is called under Windows), disassemble, alter, recompile.
 
Old 11-05-2011, 11:28 AM   #25
aspire1
Member
 
Registered: Dec 2008
Distribution: Ubuntu
Posts: 62

Rep: Reputation: 23
To be honest I think you're barking up the wrong tree - scripted language or compiled languge if someone is determined enough and manages to gain access to a system hosting the program then makes no difference. You'll be given yourself a false sense of security.
 
Old 11-05-2011, 03:21 PM   #26
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by Sergei Steshenko View Post
How about writing to free'ed memory ?
This is an obvious programming bug (read - unskilled programmer), that is very likely to crash the program.
With decent design both problems you mentioned will crash/terminate program.

Quote:
Originally Posted by Zssfssz View Post
That's what I'm trying to protect: the SRC.
Release it under proprietary license, and do not make source available.

Quote:
Originally Posted by Zssfssz View Post
Security is protecting the program from being unintentionally altered.
This is a waste of time and paranoia. In any decent linux distribution programs are installed system-wide by root into /usr/bin, /usr/local/bin or /bin with 0x755 access (rwxr-wr-w, "root.users" owner), and nobody can "alter them unintentionally", because they do not have write permissions.

Quote:
Originally Posted by Zssfssz View Post
Which is much easier to do with a scripting language because all they would need is a text editor.
Your "grandma" can open COMPILED program (*.exe, *.dll or *.so) in text editor, delete/insert few symbols and save it. I think I actually saw something similar in real life. And on linux she could do it with "sudo" or "su". What was your argument against scripted languages again?

Last edited by SigTerm; 11-05-2011 at 03:23 PM.
 
Old 11-05-2011, 04:03 PM   #27
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by SigTerm View Post
This is an obvious programming bug (read - unskilled programmer), that is very likely to crash the program.
With decent design both problems you mentioned will crash/terminate program.
...
If you are so skilled you make no mistakes, you're G-d. And you should despise all those who invented various ways of automatic memory management.
 
Old 11-05-2011, 04:08 PM   #28
Zssfssz
Member
 
Registered: Sep 2011
Location: Las Vegas!
Distribution: Ubuntu n' Flavors, ReactOS, MINIX3, FreeDOS, Arch
Posts: 339

Original Poster
Rep: Reputation: Disabled
You people are vastly overestimating my grandma. And I get it, ignoring everything else about the question: What programing language is geared tword file io? Like Perl is geared twored "Nothings Impossible"
 
Old 11-05-2011, 04:27 PM   #29
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by Sergei Steshenko View Post
you're G-d.
What's that supposed to mean?

Quote:
Originally Posted by Sergei Steshenko View Post
And you should despise all those who invented various ways of automatic memory management.
Thanks for the advice, but I prefer to decide myself whom I should or shouldn't despise.
Anyway, did I step on your foot or something?

Quote:
Originally Posted by Zssfssz View Post
You people are vastly overestimating my grandma.
I guess you never saw a computer where all Opera is set as default application for mp3 files, or *.zip is associated with notepad.

Quote:
Originally Posted by Zssfssz View Post
What programing language is geared tword file io? Like Perl is geared twored "Nothings Impossible"
As far as I know all languages have file io. However, perl is said to be made for text file processing. Text manipulation should be easier to perform with scripted languages - it'll be faster to write a python script that processes text file than a C++ program that does same thing.
 
Old 11-05-2011, 04:28 PM   #30
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by Zssfssz View Post
You people are vastly overestimating my grandma. And I get it, ignoring everything else about the question: What programing language is geared tword file io? Like Perl is geared twored "Nothings Impossible"
I use Perl as my default language. I wrote a lot in it, e.g. a symbolic logic package, Verilog parser for pretty significant Verilog subset, a sophisticated GUI.

Try OCaml - it is strictly typed, has great performance comparable to C/C++, has automatic memory management. Can be natively compiled or bytecode-interpreted - of course, slower in the latter case.

Add checksum checking to your script - your grandma will have to be really determined to break you program in such a case.

Last edited by Sergei Steshenko; 11-05-2011 at 04:29 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Looking for file that holds the modules to be compiled with mkinitrd blittrell SUSE / openSUSE 3 07-13-2010 04:32 PM
kernel not mounting file system when compiled kamalsivadas Linux - Kernel 2 11-23-2009 10:42 AM
Compiled HTML Help file simasimon Linux - Software 2 12-06-2007 01:43 AM
Seeking compiled RTL8139.O file Moosey Linux - Networking 2 12-31-2006 11:02 AM
how to run compiled C file. cdmn Linux - Newbie 2 09-05-2004 07:24 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 10:39 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration