1

I've created a web system for daycares on which the educators can upload videos of the kids, and then share those videos with the parents.

Currently the way I'm doing this is very simple. My system generates an email (to the parents) with a link to the video where it resides on my server. The educator clicks a "Send" button and the system fires off the email with the link.

For example: https://www.timesavr.net/companies/1453/dailyreports/randomvideoname.mp4

The video is not password protected, but the video name is randomly generated so impossible to guess. My question is, is this a security risk? And if so, what would be a better way to share these videos?

EDIT: For clarity, there are two things I'm primarily concerned about.

  1. Does exposing the pathing in my file system give a hacker an "in" to be able to get access to my file system somehow?

  2. Does this method make it too easy for recipients of such emails to mess with the path to the video to find other videos which are not meant for them?

1
  • This is the most perfomant way to do it, you can also do stream loading and other stuff but it will use a lot of ram, those videos aren't that super sensitive I'd suppose, so you should be good, but yeah it's still possible to find these video names, a simple script could do that but it takes hours or even days or months maybe to find a video, depending on the file names used. – steve moretz Jul 19 at 21:11
1

In short, yes, it is a security risk, especially with so little details.

Is this security risk relevant to you, it is difficult to say. It depends also potentially on your jurisdiction. What you describe seems related to health, and is obviously personal private data, plus relating to minors I guess, so various countries have various laws on all of that and what is permissible or not, you may be well advised to look closer at that and cover your self by asking law experts on the subject, as you may have a security risk on yourself if not following the laws you are under.

Without any form of authentication, you can have no guarantee on who will click on that link. Email is mostly plain-text so it can be read in flight by many parties, it will be read "automatically" by anti-virus systems which sometimes do visit URLs, if read in a browser, various browser extensions can again look at it and download it and communicate back to some mother server, and same if the link is shared in various messaging platforms, the links are visited by systems to classify it if dangerous or not, so in short a lot of places can access it.

Also you say it is "random" but without any details. Random is difficult in computer science. You might think your scheme is random enough but someone clever and who has the specific desire to some mischief against you may be able potentially to reverse engineer your scheme and hence generate "all" links, even in advance.

Separately you can also implement a grace period to have links be valid only for a couple of days for example, or to expire immediately once they are accessed once (or some given small number of times)

4
  • So even if other automated processes, or whoever, can access the link to the video and potentially watch a video that is meant for others, while that may be a risk in regards to privacy, is there any risk to my server or my system? You talk about reverse engineering my scheme and generate links in advance, but in what sense is that a risk to my system exactly? – Vincent Jul 20 at 15:58
  • 1
    "is there any risk to my server or my system?" Risk in what sense? Overloading your bandwidth and CPU/memory if too many (unwanted) downloads at the "same" time. It is a scaling problem. As for the rest I think the main problem is in your use of "securely". You can't define if a process/setup is secure until you define against what you want to protect. I outlined various security risks of your setup for some given things you want to protect against, like your liability in hosting/distributing private content, or scaling issues. You have first to define your threats. – Patrick Mevzek Jul 20 at 18:58
  • o.k. I've clarified my concerns in the question. – Vincent Jul 20 at 20:19
  • Both of your additional questions are just tied to my point on "random" as you said your links are random but you are not really giving details, and my other points about making sure your links are ephemeral and will not work anymore either after a given amount of time or given amount of number of uses. – Patrick Mevzek Jul 20 at 20:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.