« first day (337 days earlier)      last day (4832 days later) » 

 
4 hours later…
09:08
My budget for expected fraud $0 :P
 
2 hours later…
11:03
@thisjosh yours, or your company's?
 
2 hours later…
12:38
I think it would be pretty interesting to work at a place where they the expectation of being defrauded is high enough that they actually have a line item on the budget for it.
13:29
@ScottPack About 75% of my clients have budget for expected fraud in the >£100Millions region annually
@RoryAlsop As a security professional, that doesn't surprise me. As a public employee, it's a little scary.
It all comes down to risk appetite. The assumption is that there will be x amount of fraud losses. Mitigation by y% will cost z. They do the maths and come up with an answer of "No, we won't bother to fix this application, because we only expect £100,000 losses this year and it will cost £100,000 to fix
Sure, basic risk analysis.
It doesn't help the end victim who assumes a level of personal comfort which may not exist at all
3
13:48
Interesting statistic I heard in training last week: An un-patched Windows system can be compromised within 20 minutes of being connected to the Internet. From a fresh install, it takes at least 30 minutes to download all necessary Windows updates.
A few years ago we had some fun in the lab.
We took an XP RTM disk and performed an install.
The first time, the machine was rooted before we finished with the 'First Time Setup' screen.
The second time it took about 24 hours, so timing got us.
@ScottPack - You were just connecting it to the Internet, not attacking it yourself, I presume?
Just doing an install
Was it directly connected, or did you at least have a NAT router in place?
It was on the public network
We wanted it to get hacked.
13:50
@ScottPack Oh! So, the attacks may have been "internal" also?
Well, "internal" is a funny word when you're talking about a 35,000 student university :)
@Iszi I have seen stats indicating 4 minutes
:-)
But, yeah, this was just plugged directly into the on-campus network.
@RoryAlsop That's what we saw. Definitely less than 5, possibly less than 1.
Really, it all depends on what's going around and at what time you put your system on the network.
14:07
@Iszi With NAT the install-and-update cycle is rather safe (with regards to attacks -- I am not talking about your sanity).
A firewall which blocks incoming connections and unwarranted UDP packets will have the same effect.
@ThomasPornin It depends on the size of your NAT.
@ScottPack Ah yes, I am assuming here that all of the potential villains are on the outside.
For instance, if our campus was NATted, well, you wouldn't be much better off than if you were on the public interwebs.
35,000 students with their own computers tends to do that.
@ScottPack That has to be an odd environment from a controls perspective
@RoryAlsop That's a word for it :)
14:15
there can be no trusted/untrusted perimeter model
with the possible exception of perhaps finance or HR servers?
Your trusted perimeters end up being more tightly restricted.
Without going into potentially redactable information from public record laws, a lot of universities end up having a "soft" perimeter at the campus network ingress.
Then having designating network segments, such as data centers, HR departments, as hard perimeters.
makes sense - then you can add the level of controls required by segment needs
Right.
The scary part is when you come across servers that are hosted in departments, often under neath someone's desk.
Have seen that in corporate environments too - key servers that should be part of an HA cluster just sitting there, being kicked every day :-)
By necessity, you almost have to assume that anything outside of your designated Safe Zones is a no-man's land of lawlessness.
14:24
students = lawless :-)
hahahahahaha
coughs
@RoryAlsop Students are the worst attackers: they have time, they have huge available computing resources, and they are ready to do attacks for the sake of it, even without any rational incentive.
@ThomasPornin Never attribute to malice what you can attribute to clicking the wrong fucking checkbox.
3
@ThomasPornin and a lot of them are pretty damn smart
I suggest checking all their windows for "the algorithm". That's where you need to look for students causing problems (haven't you seen the social network???!!).
 
5 hours later…
19:11
This a dupe I think:
2
Q: Does a Virtual Machine stop malware from doing harm?

mooseI would like to know if it is save for the host system of a virtual machine (VM - VirtualBox OSE in my case) to execute malware. Can a virus break out and read or write data from the host system? Can it establish an internet connection if I disable it in my VM? Is a VM a safe environment to tr...

@Ninefingers Not completely, in my opinion. The main theme (can code break out of a VM ?) is a dupe of past questions; but the bit about fork bombs is new.
@ThomasPornin mmm, maybe
Perhaps it should be edited to focus on that?
Can vm code fork bomb the host?
It just reads so similarly to the other one.
I would suggest leaving it be as it is, but I am notoriously lazy.
Haha, fair enough
It's answered now I suppose
Right, weekend time for me. @AviD take a look at my github repository, let me know what you think. For a few hours work in my spare time I have a driver that might even be able to communicate /w userland; gimme a bit of time at the weekend and we might even be able to capture Irps
then after that, I need registry and network monitoring
19:39
How big is the standard installed Windows registry now?
@RoryAlsop Mine. I don't think I'm allowed to speculate about my company.
@thisjosh Yes, absolutely none of the French nuclear plants would resist a coordinated attack by 3000 allosaurus driving battle tanks (with laser turrets).
@Ninefingers Depends on how the host OS limits the VMs requests for resources and how the Host OS handles resource degredation.
@ThomasPornin What about a bad review by a French architect? Or Italian architect? Oww scary.
@thisjosh It is true that concrete cubes have gone a bit out of style since the days of Stalin.
Boxy and no accent! Really, they are in desperate need of a makeover.
There must be a few French architects with a need to make an outrageous public statement.
Wow, French reactors were built in pairs, redundancy planning beyond most other countries right there.
To add a bit of context: next year, France will have elections, new Parliament and new President.
The opposition candidate is from left-wing Socialist Party and seeks an alliance with the environmentalists
There has been a bit of confusion over a deal made with them this week
with a paragraph about suppressing a lot of nuclear plants which kept on vanishing and reappearing on various versions of the pact
of course, the right-wing party of the current President makes quite a fuss about how keeping nuclear plant is vital
so the publication of the report on nuclear plant safety right now is quite heavily loaded politically
the worst mistake would be to actually believe anything which is in this report
19:55
True it has not yet been "peer reviewed" and I can see how it has political implications.
I've just discovered that my application contains a security vulnerability for other accounts on the local system... I'll describe the problem and then if anyone would like to offer a suggestion, that would be great :)
So I have written an application that runs on a user's local account.
An amusing thing is that the environmentalists and the other parties fight over the question about whether closing nuclear plants will create or destroy jobs
none really talks about, say, the environment
The application exposes a mini-HTTP server that accepts connections from 127.0.0.1.
...however, the problem is that the server is still available to other users on the same machine and they can access information that should be limited to that specific user.
What are some suggestions for limiting access to the server to the user that started the application?
20:00
OS?
Windows and Linux.
(It's a Python application.)
ouch, does the fix need to be in the application or can you have a fix for each OS?
Preferably in the application but it could be per-OS if need be.
@Ninefingers You awake?
@GeorgeEdison On BSD and Linux systems there is a getpeereid() call to get the UID of whoever is at the other end of a socket; it is normally for Unix-domain sockets but it may work for TCP sockets which go through localhost (this is worth a try)
20:06
Can we assume that users are employees who won't do bad things if they know they are monitored?
@thisjosh Possibly.
I suppose one could do things through exploring /proc, too
It takes a moderatly sophisticated user to attempt to open ports starting and terminating on the local host.
@ThomasPornin I was thinking of using HTTP basic authentication that uses PAM on Linux... is that overkill?
Are you running any host based intrustion detection?that might be an in-place fix
20:09
Don't forget that this mini-HTTP server is only providing a page for configuring the application's preferences.
@GeorgeEdison It would imply the users typing their password again. It is always delicate to train your users into typing their passwords into random applications.
@ThomasPornin Hmm... good point.
What kind of application is the client ? A Web browser, or something custom ?
And you already have better authentication on your network
@ThomasPornin It's a sort-of notification daemon.
20:10
Or I hope you do
You could have the client authenticate by sending a secret key (a random blob) which is stored in a file in the home directory of the user
Why not centralize the http service are the clients on disjoint networks?
just have the file unreadable for any other user
@ThomasPornin I had thought of that too.
@GeorgeEdison That's what X11 does, with the '.Xauthority' file
20:12
The problem then becomes... how does the browser read the contents of that file?
(these days, X11-over-network becomes rare because OpenGL-over-network does not cut it; but in older times, the .Xauthority file was quite common, and it worked)
Is the only thing available the configuration or are you worried about arbitrary file access?
JavaScript doesn't provide filesystem access (out of necessity).
@GeorgeEdison Hence my question about what is the client
You could use a signed Java applet
Oh, sorry for the confusion.
20:13
if signed, a Java applet can have file access
So this application is written in Python and displays an icon in the user's tray area.
and it can send back the value to some Javascript
The same app runs another thread that exposes the HTTP server.
The HTTP server provides POST and GET methods for manipulating settings for the application.
The user changes the settings for the app by opening their browser and interacting with the HTTP server.
Local HTTPS maybe? with client authentication stored in user read only files
(Sidenote: I'm beginning to regret switching from a simple preferences dialog box...)
20:15
How many users per system a few or many? How many users total?
Other solution: the server "opens" the Web browser itself
@thisjosh In most cases, these will be single-users.
@ThomasPornin I like it!
on a custom URL like: http:// 127.0.0.1/834gf8945bbcdui89f7totallyrandomkey5499/index.html
That guarantees the pair is correct, as much as you can.
20:16
The server does open the web browser.
I like that idea.
One tiny concern...
The end points are authenticated by created them as a pair
...doesn't Linux allow other users to see the command that spawned a process?
...and wouldn't the URL be available in that command?
@GeorgeEdison depends on how rights are assigned
@GeorgeEdison but it's only good once, it changes every time
@GeorgeEdison there are ways to protect against that, but not easily done in a portable program
@thisjosh That's an idea.
20:18
portable programs are a hard pblem for remote atestation
besides the "use once" from @this.josh, you could also create a $HOME/foobar.html which is readable only by the user, and have the Web browser open that file
yes lock the connection before control passes to the user.
@ThomasPornin That's an idea.
I don't know how doable that is with Windows and Linux browsers
Well, Python does a pretty good job of abstracting those differences away from the application.
20:20
@GeorgeEdison I'm not following here. what web-browser is involved in this?
And force the mini-http server to never have more than one connection open at a time.
@StefanoPalazzo Whatever web browser the user is using by default.
I should probably install the thing :)
I can give you a link to the code in question if needed.
@GeorgeEdison yeah that'd be good
Then push the URL to the user's browser before opening the server for connections
okay I got it. I thought you were just doing api-requests
if the browser is already trying to connect before the page is served it should be hard for another request to preempt the intended user's request
and with only one open connection allowed you should be good until the connection is closed by the user
20:25
That ought to do it.
okay, since you care about many users on one system, you could do this:
create a file that is only readable by the user, containing a session token
so the attacker would have to intercept it by reading the network traffic (requires root). you just need to make sure it doesn't appear in "ps aux"
@StefanoPalazzo use a Nonce
Then it doesn't matter if they seen the token
No access on current session and replay is invalid
But that still brings up the problem... how does the user's browser read the file?
20:28
Which file?
@GeorgeEdison the nonce would be part of the url
so, you open the URL with a nonce, then set a cookie with it and check it again for every subsequent request, from the cookie (which is easy if you replace your BasicHTTPServer with cherrypy)
Wait - so the browser opens to a URL like: http://blah/secret_key_123456 and then stores that as a cookie for future requests?
...then the server checks that for each request?
right, but you must invalidate the URL at the end of the session
Like when the server goes offline?
@GeorgeEdison exaclty, but it's not quite a secret, just a nonce (number used once)
20:33
...or offer the user a "logout" link perhaps?
timeout on no activity, Users don't like to logout
The sessions will be short right?
@thisjosh Quite likely.
...and the server can return a "please close this tab and click the preferences button again" if the session has expired.
@GeorgeEdison That works as long as the session is really invalidated by changing the valid URL
i.e. changing the Nonce (the value N once) value
So this "number used once"... how does that work? Is it randomly generated?
Yes generate randomly.
20:37
Alright.
Well thank you everyone for the assistance.
You do not need to keep track of the values as it is unlikely you will randomly generate the same one again
I never planned to run into this problem... but I did :)
@GeorgeEdison for added security (and at no cost at all) use this: import uuid; nonce = uuid.uuid4().hex
generates a random uuid with lots of entropy, as a convenient hex string
@StefanoPalazzo nice recomendation
20:50
@StefanoPalazzo Thanks.
no problem. josh has done all the hard work, as usual :D
@ThomasPornin While the U.S. Shuttle can descend in autopilot mode, normally the crew does take over the manual controls close to landing. John F. Hanaway and Robert W. Moorehead, Space Shuttle Avionics System (NASA SP-504, 1989), p. 25.
@thisjosh It's a pilot thing.
Regularly, we hear in the news about some pilot having to do a manual landing in epic conditions.
A few months ago, some pilot did that to land his plane on the Hudson river
A few weeks ago, it was a landing without the wheels, in Poland
the one common characteristics we always hear about is that, on the radio recordings, the pilot never panicks
he is always a monument to serenity and talks in a purely professional, matter-of-fact way
That must be the one single task to which pilots train: keep your voice under control.
That, or emergency landing procedures include spraying LSD in the cabin.
21:09
I though excessive Oxygenation caused euphoria so the N2 O2 ratio in the emergency breathing masks was mixed to account for that
Brad Pit told me so it must be true.
 
2 hours later…
22:58
Interesting... I have a comment on this thread that hints at closure, and that comment has four up-votes, but the thread itself only has my single close vote.
0
Q: Ethical approaches to exploiting security flaws for personal gain

blundersThe question is less about how to disclose information, and more about ways to ethically benefit from those disclosers. Unclear to me if the question is off-topic, but figured I'd ask anyway.

23:12
I could rewrite it for you.
@thisjosh Rewrite what? There's no clear goal defined there.
0
Q: Ethics and economy in security research

blundersHow can we design a market for information disclosure where individual security researchers may benefit economically in an ethical way? Assume a market where the participants are governments, researchers (black and white), educational institutions, corporations, and non-profit non-governmental ...

Now it has purpose.
23:31
@thisjosh Awake on a friday? Nahh!
I'm here now
@Ninefingers Sentient, awake is left as an exercize for the reader.
I was hoping you had some Python specific security input for George Edison, but we seemed to have found a solution that pleases him
23:47
Funny, I would admit to being awake but not sentient.
Looks like you guys have it thoroughly covered. I know of one app that does something similar - sagemath.org. The code base is huge; it's a python re-write of mathematica/maple and the command notebook() launches a twisted server locally
they just use username / password combinations configured in the current user's settings, as far as I can see - I haven't looked that hard
@ScottPack If you are awake people may ask you to do things.

« first day (337 days earlier)      last day (4832 days later) »